亲爱的同事们,
我有以下情况
如果我用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是罪魁祸首。
有关如何进一步调试此问题的任何建议?
答案 0 :(得分:0)
事实证明,Ext文件上传组件具有“submitValue”属性,默认情况下为true。这导致路径使用相同的密钥发送,从而覆盖文件内容。