jon*_*tro 63 javascript dom google-chrome form-data
我目前正在使用以下代码上传从剪贴板粘贴的图像:
// Turns out getAsFile will return a blob, not a file
var blob = event.clipboardData.items[0].getAsFile(),
form = new FormData(),
request = new XMLHttpRequest();
form.append("blob",blob);
request.open(
"POST",
"/upload",
true
);
request.send(form);
Run Code Online (Sandbox Code Playgroud)
结果是上传的表单字段,其名称与此类似:Blob157fce71535b4f93ba92ac6053d81e3a
有没有办法设置此或接收此文件名客户端,而不进行任何服务器端通信?
Chi*_*tor 131
对于Chrome和Firefox,只需使用:
form.append("blob",blob, filename);
Run Code Online (Sandbox Code Playgroud)
(参见MDN文档)
Noi*_*art 28
在这里添加它,因为它似乎不在这里.
除了优秀的解决方案之外,form.append("blob",blob, filename);
您还可以将blob转换为File
实例:
var blob = new Blob([JSON.stringify([0,1,2])], {type : 'application/json'});
var fileOfBlob = new File([blob], 'aFileName.json');
form.append("upload", fileOfBlob);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
93453 次 |
最近记录: |