我正在使用(一个低代码平台)构建一个移动应用程序(构建iOS和安卓本地应用程序),该应用程序可以将用户拍摄的图像发布到s3桶中。我目前正在为js使用aws (很容易导入到这个低代码平台),并试图使用s3.putObject调用将图像向上推高。我已经发现,我可以将图像的RAW字节的base64字符串从s3设备中推送到s3存储,但在从iOS设备中这样做时没有成功。我已经张贴在科尼论坛太在此链接,并将粘贴我的代码下面。而且,我知道到s3的连接正在工作,因为我在代码的另一部分中将csv文件发布到同一个桶中。
AWS.config.update({
accessKeyId: <accessKeyId>,
secretAccessKey: <secretAccessKey>,
region: <region>
});
var rawImg = this.view.Picture.rawBytes;
var b64img = kony.convertToBase64(rawImg);
var bucketImage = new AWS.S3();
var paramsImage = {
Bucket: <bucket-name>,
Key: "images/imageB64.jpg",
ContentType: 'image/jpg',
Body: b64img};
bucketImage.putObject(paramsImage, function(err,res){
if (err) {
alert(err);}
else {
alert('Success');
}
});发布于 2018-10-31 13:40:56
我确信FFI选项会奏效,但我发现,一旦我添加了-允许任意加载--是的,在Xcode中对我的Info.plist进行加载,这些上传就开始工作了。显然,这使用了http头,而iOS并不自动允许这样做。我还必须将以下JSON添加到我在科尼工作区的项目下的infoplist_configuration.json文件中:"NSAppTransportSecurity“:{ "NSAllowsArbitraryLoads”:true }
发布于 2018-10-05 12:42:25
如果继续在使用AWS进行照片上传时遇到问题,请尝试创建外部功能接口(FFI)和使用AWS用于iOS的替代路径。这就是我团队中的开发人员如何让S3上传到我们的科尼应用程序中。
他使用AWSS3TransferManager和AWSS3TransferManagerUploadRequest类来完成这个任务。
以下是Swift中的代码示例
https://stackoverflow.com/questions/52656356
复制相似问题