栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用Dropzone.js在Struts2中上传多个文件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用Dropzone.js在Struts2中上传多个文件

问题

使用时

<input type="file" name="file" multiple />

文件将全部用发送

name="file"
,例如:

Content-Disposition: form-data; name="file"; filename="foo.jpg"Content-Type: image/jpeg............ ..........Content-Disposition: form-data; name="file"; filename="bar.jpg"Content-Type: image/jpeg..............

这是一个正确的参数Struts2的文件上传拦截器能接收,工作与

List<File>
和相关
List<String>
文件名
的contentType

相反,当您使用dropzone.js时,文件名将被追加

[]
以附加到处理多个输入客户端:

paramName
:要传输的文件参数的名称。默认为文件。 注意如果您将选项
uploadMultiple

设置为true,则Dropzone将追加
[]
到名称中。

例如。

Content-Disposition: form-data; name="file[0]"; filename="foo.jpg"Content-Type: image/jpeg............ ..........Content-Disposition: form-data; name="file[1]"; filename="bar.jpg"Content-Type: image/jpeg..............

Struts2根本不喜欢它。

不用弄乱自定义的拦截器和转换器,只需对

dropzone.js
用于Struts2项目的库进行简单的调整即可:

  1. 重命名
    dropzone.js
    dropzone-struts2.js
  2. 打开文件并搜索
    "[" + n + "]"
    (最新版本为866行)
  3. 更改此行
    return "" + this.options.paramName + (this.options.uploadMultiple ? "[" + n + "]" : "");

到这个

    return "" + this.options.paramName; //+ (this.options.uploadMultiple ? "[" + n + "]" : "");

现在,它已兼容Struts2,并且可以处理多个上传。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/435611.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号