javascript-网络摄像头js将图像上传到Amazon S3
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-网络摄像头js将图像上传到Amazon S3,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1868字,纯文字阅读大概需要3分钟。
内容图文
![javascript-网络摄像头js将图像上传到Amazon S3](/upload/InfoBanner/zyjiaocheng/660/1fe1f11959a342c0b75724cd3fc29b31.jpg)
我正在尝试上传使用拍摄的图像
直接到Amazon S3
var dataUri = Webcam.snap();
var raw = window.atob(dataUri.replace(/^data\:image\/\w+\;base64\,/, ''));
在我获得保单(正确)之后,我就这样做了
$.ajax({
type: 'POST',
url: amazonUploadUrl,
data: {
file: raw,
contentType: "image/jpeg",
key: key,
AWSAccessKeyId: awsAccessKey,
acl: "public-read",
policy: policy,
signature: signature,
name: "",
Filename: filename
},
dataType: "",
success: function (r1) {
}
});
我尝试发送编码图像,解码图像,并尝试修改标头.我一直得到的就是这个
XMLHttpRequest无法加载“ amazon s3存储桶URL”.所请求的资源上没有“ Access-Control-Allow-Origin”标头.因此,不允许访问来源“我的本地域”.
我已经在亚马逊存储桶中添加了CORS信息.
我已经在使用plupload将图像上传到该存储桶.
我还上传了不使用Ajax的标准图像.
我似乎无法使它正常工作.
有任何想法吗?
谢谢
PS:我也尝试过使用
结果相同
解决方法:
您需要使用javascript FormData对象和本机XMLHttpRequest方法将数据直接发布到s3.今天早上,我尝试使用jQuery做完全相同的事情,但遇到了该错误消息,但是本机javascript API起作用.
我觉得jQuery默认不使用CORS或在某个地方通过错误的标头发送.
This answer shows how to convert to a format S3 can understand,在您的情况下可能没有必要.
这应该使您开始使用表单数据部分:
var fd = new FormData();
fd.append("contentType", "image/jpeg");
fd.append("key", key);
fd.append("AWSAccessKeyId", awsAccessKey);
fd.append("acl", "public-read");
fd.append("policy", policy);
fd.append("signature", signature);
fd.append('filename', "");
fd.append('file', raw);
var xhr = new XMLHttpRequest();
xhr.open('POST', amazonUploadUrl);
xhr.addEventListener('load', function(e) {
console.log('uploaded!', e) // Successful upload!
});
// Optionally bind to other xhr events, like error, progress, or abort.
// Using native XHR2 is nice because the progress event works and you
// can tack on upload progress counters.
xhr.send(fd);
内容总结
以上是互联网集市为您收集整理的javascript-网络摄像头js将图像上传到Amazon S3全部内容,希望文章能够帮你解决javascript-网络摄像头js将图像上传到Amazon S3所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。