我是新来的JQuery和 我想使用JQuery Ajax将一些文件上传到服务器,仅在PUT方法中。 当我向服务器发送一些二进制文件(如gif或jpeg)时,上传成功,但二进制数据的内容发生了变化(它总是比原始文件大小更大)。 我尝试更改内容类型或文件结果的类型,但仍不起作用。 任何人都知道如何解决这个问题?如何通过JQuery发送二进制数据Ajax PUT方法
PS:我无法将二进制文件的内容编码为其他格式,因为我无法触摸服务器的代码。
var reader = new FileReader();
reader.onloadend = (function(Thefile) {
$.ajax({
url: url,
processData:false,
//contentType:"application/octet-stream; charset=UTF-8",
data: file.result,
type: 'PUT',
success : function(){console.log("OK!");},
error : function(){console.log("Not OK!");}
});
})(file);
reader.readAsBinaryString(file);
2012-07-12
Ding
+0
我遇到过类似的问题。我的第一个猜测是,这与'ajax'函数在发送请求之前处理数据的方式有关。 –
2012-10-24 19:25:53
+0
无论jQuery AJAX机制如何,请注意您应该为reader.onloadend指定一个函数 - 不要自行调用该函数! –
2014-04-17 12:06:01
1251

被折叠的 条评论
为什么被折叠?



