Ext JS 4文件上传发送完整路径而不是文件内容

时间:2015-06-24 14:58:30

标签: extjs file-upload

亲爱的同事们,

我有以下情况

  • 某些应用通过网络服务调用将文件上传到文件存储
  • Ext JS应用程序通过restful api
  • 与Some App连接

如果我用curl调用restful文件上传控制器就可以了:文件已成功上传。

所用命令的模板:

curl -F "userid=1" -F "filecomment=This is a file" -F "file=@/home/user1/Desktop/test.txt;type=text/plain" localhost/uploader.php 

如果我将Ext JS表单发布到restful控制器,文件会上传,但文件的内容是原始文件的完整路径而不是它的内容,例如:/ home / user1 /Desktop/test.txt。

在检查浏览器网络选项卡中发送的标头时,Ext JS使用多部分内容类型发送数据。在两种情况下,从控制器到文件存储端点的客户端出站请求标头都是正确的,但是,使用curl时,文件内容会被发布,而Ext JS会发布文件名本身。

通过非ext js上传,普通的旧HTML表单也正常工作!因此得出的结论是,Ext JS是罪魁祸首。

有关如何进一步调试此问题的任何建议?

1 个答案:

答案 0 :(得分:0)

事实证明,Ext文件上传组件具有“submitValue”属性,默认情况下为true。这导致路径使用相同的密钥发送,从而覆盖文件内容。