ネイティブAndroidアプリでSalesforce SDK(4.1.x)を使用しています。 RestClient.sendAsyncメソッドを使用して、フォームデータをカスタムオブジェクトに投稿します。その部分は正常に動作しています。今、モバイルユーザーが撮影した写真をアップロードして添付する必要があります。 RestClientにはuploadFileメソッドがあることがわかります。これは正しい方法ですか?その場合は、アップロードしたファイルをカスタムフォームデータにどのようにして接続しますか?Android用Salesforce Mobile SDKを使用してファイルをアップロードするにはどうすればよいですか?
0
A
答えて
1
私はこれを考え出した。まず、次のようにして親オブジェクト(メインフォームデータ)を作成します。
request = RestRequest.getRequestForCreate(apiVersion, objectType, fields);
client.sendAsync(restRequest, new RestClient.AsyncRequestCallback() {...
onSuccessメソッドでは、新しいオブジェクトのIDをレスポンスから取得します。 JSONオブジェクトとIDを取得する方法を示す多くの例があります。この親に武装して、添付ファイルを作成できるようになりました。コードは次のようになります。
private void postImageAsAttachment(String parentId, String title) {
Map<String, Object> fields = new HashMap<String, Object>();
fields.put("Name", title);
fields.put("ParentId", parentId);
fields.put("Body", ImageHelper.getBase64FromImage(mCurrentPhotoPath));
RestRequest request = null;
try {
request = RestRequest.getRequestForCreate(apiVersion, "Attachment", fields);
} catch (Exception ex) {
Log.d(TAG, "sendRequest: ", ex);
Toast.makeText(MainActivity.this, "The file upload failed: " + ex.toString(), Toast.LENGTH_LONG).show();
}
client.sendAsync(request, new RestClient.AsyncRequestCallback() {...
Iは、単に画像ファイルをロードImageHelperと呼ばれる単純なクラスを使用して(必要な場合)、画像圧縮を実行し、BASE64は、画像データを符号化しています。その結果、「Attachment」オブジェクトが親オブジェクトの子として作成されます。
私はこれが次の人に役立つことを願っています。
関連する問題
- 1. Android LollipopでWebViewを使用してファイルをアップロードするにはどうすればよいですか?
- 2. Azure MobileServiceClientを使用してファイルをアップロードするにはどうすればよいですか?
- 3. android sdkを使用してAndroidアプリケーションをデバッグするにはどうすればよいですか?
- 4. Objective-C(iOS)を使用して画像Podio SDKをアップロードするにはどうすればよいですか?
- 5. JSF/Primefacesを使用してファイルをアップロードするにはどうすればよいですか?
- 6. Androidのキーストアを使用してFlex Mobile Appに署名するにはどうすればよいですか?
- 7. dropzone.jsを使用してファイルをSharePointファイルにアップロードするにはどうすればよいですか?
- 8. CLIのみを使用してLinuxにAndroid SDKをインストールするにはどうすればよいですか?
- 9. HTTPおよびコマンドラインツールを使用してファイルをアップロードするにはどうすればよいですか?
- 10. DB Visualizerを使用してAndroid SDK DBにアクセスするにはどうすればよいですか?
- 11. nativescriptでマルチパートフォームデータを使用してファイルをアップロードするにはどうすればよいですか?
- 12. POSTでAjaxを使用してファイルをアップロードするにはどうすればよいですか?
- 13. Django FormToolsフォームウィザードでデフォルトファイルストレージ(S3)を使用してファイルをアップロードするにはどうすればよいですか?
- 14. iOSでAWS S3サービスを使用してファイルをアップロードするにはどうすればよいですか?
- 15. ajaxを使用してjqueryでファイルをアップロードするにはどうすればよいですか?
- 16. JSON APIを使用してCarrierwave経由でファイルをアップロードするにはどうすればよいですか?
- 17. Appiumを使用してブラウザテストで添付ファイルをアップロードするにはどうすればよいですか?
- 18. 非同期タスクを使用してファイルをサーバーにアップロードするにはどうすればよいですか?
- 19. SwiftにSiesta Frameworkを使用してファイルをアップロードするにはどうすればよいですか?
- 20. VB6を使用してファイルをOracle BLOBフィールドにアップロードするにはどうすればよいですか?
- 21. Pythonスクリプトを使用してGoogleドライブにファイルをアップロードするにはどうすればよいですか?
- 22. カスタムアップロードフォームを使用してWordPressにファイルをアップロードするにはどうすればよいですか?
- 23. FormDataを使用してサーバーにファイルをアップロードするにはどうすればよいですか?
- 24. Mean appにファイルシステムI/Oを使用してファイルをアップロードするにはどうすればよいですか?
- 25. Classic ASPを使用してAzure Blobストレージにファイルをアップロードするにはどうすればよいですか?
- 26. Javaを使用してGoogle Cloud Storageにファイルをアップロードするにはどうすればよいですか?
- 27. Firebaseを使用してファイルをアップロードするにはどうすればよいですか?
- 28. MS Graph APIを使用してファイルをアップロードするにはどうすればよいですか?
- 29. JSフェッチAPIを使用してファイルをアップロードするにはどうすればよいですか?
- 30. Node.jsを使用してファイルをアップロードするにはどうすればよいですか?
私に完全なコードを教えてください。 – kgandroid
はBasicNetwork.performRequestを与える:https://ap2.salesforce.com/services/data/v36.0/sobjects/Attachment – kgandroid
のための予期しない応答コード400を、私は後で今日これを掘るでしょう。その間、SFのオブジェクトが添付を許可することを確認してください。私たちのオブジェクトが添付ファイルを許可するように設定されていなかったので、最初はエラーが発生しました。オブジェクト/エンティティに対する適切な権限を持っていないユーザーもエラーを受け取りました。 –