ajax 传递二进制数组,如何通过JQuery发送二进制数据Ajax PUT方法

我是新来的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值