gpt4 book ai didi

AngularJS 发送 OPTIONS 请求而不是 POST

转载 作者:行者123 更新时间:2023-12-03 20:59:38 25 4
gpt4 key购买 nike

我正在尝试将图片上传到我的 S3 存储桶。我正在使用 AngularJS v1.2.13。
当我使用他们文档中显示的简单案例时(使用 action 标签提交表单),一切正常。但是,如果我想以 Angular 方式使用 ng-click Angular 发送 OPTIONS请求而不是 POST要求。

以下是服务代码,它首先去服务器获取签名(我知道那部分很好),然后尝试发布所有内容。

myServices.factory('s3', function($http) {
var service = {};

service.upload = function(fileName) {

return $http(
{
method:"POST",
url: "sign",
data: { "fileName": fileName }
}
).then(
function(result) {
// success
//resolve the promise as the data
var data = result.data;
var url = "https://" + data.bucket + ".s3.amazonaws.com/";

return $http.post(url, {
"key": data.key,
"AWSAccessKeyId": data.awsKey,
"acl": data.acl,
"policy": data.policy,
"signature": data.signature,
"Content-Type": "image/jpeg",
"success_action_redirect": "http://localhost:3000/s3Uploaded"
}).then(
function(response) {
// success
console.log("s3.upload, success: ");
console.log(response);
},
function(response) {
// failed
console.log("s3.Upload, fail: ");
console.log(response);
}
);

},
function(response) {
// failed
console.log("s3.sign, fail: ");
console.log(response);
}
);
};

return service;
});

我究竟做错了什么?

最佳答案

在 CORS 的 S3 header 中添加 header :

访问控制允许来源:*

关于AngularJS 发送 OPTIONS 请求而不是 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346408/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com