javascript - 上传到 AWS s3 错误:“NetworkingError:网络故障”
问题描述
我正在运行代码将文件上传到 s3 存储桶;但是代码在运行时返回此错误:“NetworkingError:网络故障”我已经进行了一些修复搜索,但到目前为止我发现没有一个有效。代码位于 HTML 元素中。
这是我的代码:
<script src="https://sdk.amazonaws.com/js/aws-sdk-2.1.24.min.js">
</script>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js">
</script>
<script type="text/javascript">
function sendLoadMessage () {
window.parent.postMessage("LoadOk1", "*");
}
function postMsg(msg) {
window.parent.postMessage(msg, "*");
}
const BUCKET_NAME = 'EXAMPLE_BUCKET';
const IAM_USER_KEY = 'EXAMPLE_KEY';
const IAM_USER_SECRET = 'EXAMPLE_SECRET_KEY';
function Send() {
var files = document.getElementById('fileUpload').files;
let In = files[0]
console.log("In", In)
uploadToS3(In)
function uploadToS3(file) {
let s3bucket = new AWS.S3({
accessKeyId: IAM_USER_KEY,
secretAccessKey: IAM_USER_SECRET,
Bucket: BUCKET_NAME
});
s3bucket.createBucket(function () {
var params = {
Bucket: BUCKET_NAME,
Key: "New",
Body: In
};
s3bucket.upload(params, function (err, data) {
if (err) {
console.log('error in callback');
console.log(err);
}
console.log('success');
console.log(data);
});
});
}
}
</script>
<div>
<input type="file" id="fileUpload">
</div>
<div>
<button class="button" onclick="Send()">Submit</button>
</div>
<body onload="sendLoadMessage ();" style="background-color:white;">
<div id="GoogleSheetsDocs"></div>
</body>
这是我目前的CORS:
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<ExposeHeader>ETag</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
我尝试更改我的 CORS 并将文件发送到存储桶中的文件夹中,但都没有奏效。有谁知道我怎样才能让它工作?
解决方案
推荐阅读
- java - 什么是将从 BigQuery 读取的 SchemaAndRecord 对象转换为 Apache Beam 中的 Java 对象 (POJO) 的好方法?
- android - 由于版本错误导致更新 Andorid 应用程序的问题
- node.js - bybit api现货订单创建nodejs
- go - *http.Response.Body 读取方法如何工作?
- sql - 如何在 JPA 中使用 Param 注释调用嵌套值?
- python - 有更大的问题;为什么我的 wxPython 窗口布局在尺寸较大时看起来不错,但在尺寸较小时会中断?
- vb.net - 打印完成然后在 VB.NET 中更改默认打印机
- javascript - 添加范围滑块以更新圆环图上的数据
- android - Flutter中如何让listView的item连续动态变化
- swift - 错误:无法转换“TreeNode.TreeNode”类型的值?到预期的参数类型“prog.TreeNode?” 在 Leetcode 的 solution.swift 中