如何从<;获取curl-T的等效数据格式--upload data选项;输入类型=";文件"/&燃气轮机;在浏览器中使用JavaScript?

如何从<;获取curl-T的等效数据格式--upload data选项;输入类型=";文件"/&燃气轮机;在浏览器中使用JavaScript?,javascript,curl,filereader,Javascript,Curl,Filereader,curl可以选择“将指定的本地文件传输到远程URL” 如何使用JavaScript从获取文件的等效数据,使用curl-T。您应该创建一个并使用方法读取文件 const readBlob=file=> 新承诺((解决、拒绝)=>{ const reader=new FileReader(); reader.onload=e=>{ 决心(如目标、结果); }; reader.onerror=拒绝; reader.readAsArrayBuffer(文件);//这个 }); 然后您可以发送请求,比如

curl可以选择“将指定的本地文件传输到远程URL”

如何使用JavaScript从
获取文件的等效数据,使用
curl-T

您应该创建一个并使用方法读取文件

const readBlob=file=>
新承诺((解决、拒绝)=>{
const reader=new FileReader();
reader.onload=e=>{
决心(如目标、结果);
};
reader.onerror=拒绝;
reader.readAsArrayBuffer(文件);//这个
});
然后您可以发送请求,比如使用axios,如下所示

const blob=wait readBlob(…);
轴心柱http://some/data/consumer",blob),;

如果您想要从javascript访问数据,例如通过数据视图,那么您可以使用该方法,该方法将向ArrayBuffer返回承诺解析。由于文件接口继承自Blob,因此此方法也可直接用于文件对象

document.getElementById('inp').onchange=异步函数(evt){
const buf=wait this.files[0].arrayBuffer();
控制台日志(buf.byteLength);
const view=new Uint8Array(buf,0,4);//创建一个前4个字节的视图
console.log(视图);
};

谢谢您的回答。为了进一步澄清,我自己发布问题和答案的原因是没有任何文档指定格式
curl-t“filename”
传输其数据,从而指定使用JavaScript“发布”相同数据时应使用的数据类型。正如你现在提到的,你的第一个答案似乎是正确的。(我现在意识到为什么我在发布这个问题之前没有尝试你的解决方案。)@LeeHanKyeol是的,这只适用于最近的浏览器,但它可以很容易地进行多重填充(你的答案几乎可以做到)。因此,对于较旧的浏览器,最好使用它和polyfill。而post(arraybuffer)或post(blob)将生成相同的请求,因此您甚至不需要polyfill或文件读取器,只需像我上一个示例中那样直接发布文件即可。@Kalido
curl -v "http://some/data/consumer" -XPOST -T "some/file/name"