【发布时间】:2018-01-22 12:50:43
【问题描述】:
我希望能够将通过打印屏幕按钮拍摄的图像粘贴到文本区域并将其上传到我的服务器。
我正在使用onpaste,它似乎可以工作,我可以获得一个文件对象,但每当我尝试发送它时它都是空的。
onpaste(event) {
if (event.clipboardData.files.length) {
let file = event.clipboardData.files[0];
var oReq = new XMLHttpRequest();
var data = new FormData();
data.append("file", file);
data.append("csrf", CSRF_TOKEN);
oReq.open("POST", exports.url("/file"));
oReq.setRequestHeader("Accept", "application/json");
oReq.send(data);
}
}
我在我的开发工具中观察到网络选项卡,并且正在正确发送一个请求,其中包含有关文件的所有信息,但没有内容
请求负载:
------WebKitFormBoundaryWggS2BbKcZV6v4tn
Content-Disposition: form-data; name="file"; filename="image.png"
Content-Type: image/png
------WebKitFormBoundaryWggS2BbKcZV6v4tn
Content-Disposition: form-data; name="csrf"
58718518696317230756900774635415
------WebKitFormBoundaryWggS2BbKcZV6v4tn--
【问题讨论】:
-
粘贴图像时画布不是更自然的目标吗?
-
@Teemu 我真的不想显示图像,我只想将它发送到服务器。
-
Mhh... 然后不显示画布。您仍然可以将图像构建到不可见的画布上。
-
@Teemu 如果没有必要,为什么要把它放到一个看不见的画布上?数据在他的剪贴板上。他想将它发送到服务器。先把它塞进画布似乎很奇怪。
标签: javascript html http fileapi