Kony Visualizer(ローコード開発プラットフォーム)を使用して、ユーザーが撮影した画像をs3バケットに投稿できるモバイルアプリ(iOSおよびAndroidネイティブアプリを構築)を構築しています。私は現在、aws sdk for js(このローコードプラットフォームに簡単にインポートできます)を使用しており、s3.putObject呼び出しを使用してイメージをプッシュしようとしています。画像のrawbytesのbase64文字列をAndroidデバイスからs3ストレージにプッシュできることがわかりましたが、iOSデバイスからはプッシュできません。私はこのリンクのKonyフォーラムにもこれを投稿し、以下にコードを貼り付けます。また、コードの別の部分の同じバケットにcsvファイルを投稿しているため、s3への接続が機能していることもわかっています。
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');
}
});
FFIオプションが機能したことは確かですが、XcodeのInfo.plistに[App Transport Security Settings]-[Allow Arbitrary Loads]-[YES]を追加すると、これらのアップロードが機能し始めました。どうやらこれはiOSが自動的に許可しないhttpヘッダーを使用しているようです。また、Kony Workspaceのプロジェクトの下にあるinfoplist_configuration.jsonファイルに次のJSONを追加する必要がありました: "NSAppTransportSecurity":{"NSAllowsArbitraryLoads":true}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加