我有一个curl命令,我想使用ajax来适应javascript。你知道吗
curl -v -X 'POST' --data-binary @BinaryData.bin.txt "http://127.0.0.1:3000/api/v1/update_data"
在javascript中,我多次使用FileReader()以文本、二进制字符串、数组缓冲区的形式读取文件,并对processData、contentType、cache等设置了不同的ajax参数,但没有成功地发送正确的二进制字符串,如下面的python示例所示。你知道吗
我试着用python来做,下面的代码似乎可以正常工作:
import requests
import os
path = os.path.normpath('d:/BinaryData.bin.txt')
file = open(path, 'rb')
data = file.read()
r = requests.post("http://127.0.0.1:3000/api/v1/update_data", data=data)
我在Javascript中遗漏了什么,它似乎没有从这个文件发送正确的数据?你知道吗
我尝试用javascript实现的示例:
onFileSelected: function(evt) {
var file = evt.target.files[0];
var reader = new FileReader();
reader.onload = (function (file) {
return function(e) {
var data = e.target.result;
$.ajax({
url: "http://127.0.0.1:3000/api/v1/update_data",
data: data,
contentType: 'application/octet-stream',
processData: false,
type: "POST",
success: function () {
// all good
},
error: function() {
// failed
}
});
}
reader.readAsBinaryString(file);
}
目前没有回答
相关问题 更多 >
编程相关推荐