如何使用JQuery通过HTTP“PUT”上传文件?

14

我想使用JQuery-File-Upload上传文件,不过想要用HTTP的“PUT”方法而不是multipart-forms。根据他们的网站所述

- Multipart and file contents stream uploads:
    Files can be uploaded as standard "multipart/form-data" or file contents stream (HTTP PUT file upload).

但我在他们的文档中找不到如何做到这一点的任何说明。有人能帮忙吗?


https://dev59.com/w3RA5IYBdhLWcg3w0xfk - amosrivera
2个回答

7
根据:https://github.com/blueimp/jQuery-File-Upload/wiki/Options

method

用于将文件发送到服务器的HTTP请求方法。可以是POST(multipart/formdata文件上传)或PUT(流文件上传)。接受字符串或返回字符串的函数。

建议使用:

$('#file_upload').fileUpload({
    namespace: 'file_upload_1',
    url: '/path/to/upload/handler.json',
    method: 'PUT'
});

抱歉,我查看了那个页面,但仍然不明白你从哪里得到的信息。:'( 抱歉,可能是因为我对JavaScript知之甚少。实际上,http://api.jquery.com/jQuery.ajax 中提到了“type”字段,包括PUT和GET。 - Sled
更新的答案:当您初始化文件上传组件时,可以设置选项。 - mathieu
我肯定之前看到过这个,只是不理解它在说什么。谢谢你的澄清。 - Sled

0

我也喜欢REST,但你可能需要确保在需要支持的浏览器上进行良好的单元测试。

http://api.jquery.com/jQuery.ajax/

请求类型(“POST”或“GET”),默认为“GET”。注意:其他HTTP请求方法,如PUT和DELETE,也可以在此处使用,但可能不受旧版浏览器的支持。

参见此答案如何使用JQuery将数据放入Rails中


1
现代流行浏览器,甚至包括IE在内,都支持ajax / jQuery的PUT和DELETE方法。因此,我认为在互联网应用程序中使用它是安全的。 - Sam Watkins
这个回答已经将近5年了,是时候进行编辑了。 - SavoryBytes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接