【问题标题】:How do I upload file using Salesforce Mobile SDK for android?如何使用 Salesforce Mobile SDK for android 上传文件?
【发布时间】:2016-03-19 15:44:14
【问题描述】:

我在原生 Android 应用程序中使用 Salesforce SDK (4.1.x)。我使用 RestClient.sendAsync 方法将表单数据发布到自定义对象。那部分工作正常。现在我需要上传并附上移动用户拍摄的照片。我看到 RestClient 有一个 uploadFile 方法。这是正确的方法吗?如果是这样,我如何将上传的文件连接到自定义表单数据?

【问题讨论】:

    标签: android salesforce salesforce-ios-sdk


    【解决方案1】:

    好的。我想通了。首先,使用以下内容创建父对象(主表单数据)。

    request = RestRequest.getRequestForCreate(apiVersion, objectType, fields);
    client.sendAsync(restRequest, new RestClient.AsyncRequestCallback() {...
    

    在 onSuccess 方法中,您将从响应中获取新对象的 id。有很多示例展示了如何获取 JSON 对象和 id。有了这个 parentId,我们现在可以创建附件。代码看起来像这样。

    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() {...
    

    我正在使用一个名为 ImageHelper 的简单类,它只是加载图像文件、执行图像压缩(如果需要)以及 base64 对图像数据进行编码。结果是“附件”对象被创建为父对象的子对象。

    我希望这可以帮助下一个人。

    【讨论】:

    • Giving BasicNetwork.performRequest:ap2.salesforce.com/services/data/v36.0/sobjects/Attachment 的意外响应代码 400
    • 今天晚些时候我会挖掘这个。同时确保 SF 中的对象允许附件。起初我收到一个错误,因为我们的对象没有设置为允许附件。如果用户对对象/实体没有适当的权限,他们也会收到错误。
    • 我在这里没有使用任何自定义对象。我正在使用 Salesforce Chatter API 本身。
    • 一个 http 400 可以有很多含义。您需要调试所有内容。我没有使用过 Chatter,但似乎记得它的工作方式与我在这里描述的有点不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-09
    • 1970-01-01
    • 2017-04-14
    • 2012-02-25
    • 2020-01-15
    • 1970-01-01
    • 2019-03-20
    相关资源
    最近更新 更多