您的位置:首页 > 其它

关于play!的attachments.path配置、以及关于Form表单上传请求的认识

2014-04-11 20:06 429 查看
相关链接

# Store path for Blob content
attachments.path=data/attachments

1. Blob概念

简单理解下:Blob是一类像文件一样不可改变的原始数据。它不是JavaScript的基本数据类型。File接口是基于并扩展Blob实现的。

2. play!中的使用

play!中有这么一个play.db.jpa.Blob的数据类型。里面封装了一些基本的操作,其中有个getStore方法。
如果想要自定义attachments.path,推荐自己写一个类继承play.db.jpa.Blob,并重写(Overriding)getStore方法。

public static File getStore() {
String name = Play.configuration.getProperty("attachments.path", "attachments")]<form enctype="multipart/form-data" method="post" action="@{AdminController.upload()}">
<input type="file" name="file1”/>
<input type="text" name="file1Name"/>
<input type="submit" value="send"/>
</form>
[/code]



2) 后台

/Users/apple/dev/workspace/workspace_git/weshop/data/attachments/497fa3c5-9b57-4b78-b156-d566ac52b19a

4) Chrome调试模式的Network请求分析如下(截图见文章最后)。主要看下面2个部分:

a) 请求头:定义请求的Content-Type以及请求体中的分隔符boundary

------WebKitFormBoundaryvah0TCfvWzqIistq
Content-Disposition: form-data; name="file1"; filename="avatar69624_3.gif"
Content-Type: image/gif

------WebKitFormBoundaryvah0TCfvWzqIistq
Content-Disposition: form-data; name="file1Name"

我的头像
------WebKitFormBoundaryvah0TCfvWzqIistq———




本地Finder中上传成功的文件路径(我的配置文件中定义attachments.path=data/attachments):

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐