gpt4 book ai didi

angularjs - Cordova 文件传输 : upload image to AWS s3

转载 作者:行者123 更新时间:2023-12-02 03:27:48 30 4
gpt4 key购买 nike

我正在使用 ng-cordova file-Transfer用于将图像上传到我的 AWS s3 存储桶 的插件。

但我遇到了两个问题,首先它不起作用,其次我不知道如何在模拟器上运行应用程序时调试问题。

这是我的代码:

.controller('newItemCtrl', function($scope, $http, API_URL, me, $cordovaFileTransfer) {
var s3URI = encodeURI("https://mybucketname.s3.amazonaws.com/"),
policyBase64 = "MY_BASE64_ENCODED_POLICY_FILE",
signature = "MY_BASE64_ENCODED_SIGNATURE",
awsKey = 'my AWSAccessKeyId',
acl = "public-read";

var options = {
fileKey: "avatar",
fileName: "image.png",
chunkedMode: false,
mimeType: "image/png"
// params = {
// "key": fileName,
// "AWSAccessKeyId": awsKey,
// "acl": acl,
// "policy": policyBase64,
// "signature": signature,
// "Content-Type": "image/png"
// }
};

var imageURI = '../img/ionic.png';
$scope.upload = function($cordovaFileTransfer) {

$cordovaFileTransfer.upload(s3URI, imageURI, options)
.then(function(result) {
console.log("SUCCESS: " + JSON.stringify(result.response));
}, function(err) {
console.log("ERROR: " + JSON.stringify(err));
}, function(progress) {
// constant progress updates
});
}
})

我还留下了参数代码来问另一个问题,它被评论了,但是在我运行我的应用程序之前它给了我一个参数错误但是我的问题是为什么我什至在调用与该 Controller 关联的模板之前就得到了错误

最佳答案

我遇到了类似的问题,为了调试,我使用了实时服务器日志来检查文件上传是否完全到达了服务器,我注意到了一些错误:

  • 我的服务器需要一个不同的文件 key
  • Access-Control-Allow-Origin header 未在服务器响应中正确发送

然后,我还安装了 cordova native 通知插件(链接 here )并在整个文件传输回调中散布警报以查看哪里卡住了

无论如何,这可能不是最好的调试方式,但它确实有效。

希望对您有所帮助。

...“选项”的参数部分在以这种格式应用时似乎效果最好:

    var options = {
fileKey: "avatar",
fileName: "image.jpg",
/*params: {
"value1":"value1",
"value2": "value2"
}*/
};

var params = new Object();
params.value1 = "value1";
params.value2 = "value2";
options.params = params;

来自 Cordova docs “params:一组可选的键/值对,用于传递 HTTP 请求。(对象)”所以传递字典可能会略有不同,我不确定,我所知道的是一旦我做了那个改变它就起作用了.

关于angularjs - Cordova 文件传输 : upload image to AWS s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29372144/

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