2

我正在使用RoboSpice Google Http Java Client module并且我正在使用数据成功执行POST请求。JSON

问题: 我的问题是现在我必须byte[]在请求中附加数据,POST但我无法找到任何方法来做到这一点RoboSpice Google Http Java Client module

这是我的代码片段:

public class SaveUserProfile_Request extends GoogleHttpClientSpiceRequest<SaveUserProfile> {
    private String apiUrl;
    private JSONObject mJsonObject;
    private String filePath;

    public SaveUserProfile_Request(JSONObject mJsonObject, String filePath) {
    super(SaveUserProfile.class);
    this.apiUrl = AppConstants.GLOBAL_API_BASE_ADDRESS + AppConstants.API_SAVE_PROFILE;
    this.mJsonObject = mJsonObject;
    this.filePath = filePath;
    }

    @Override
    public SaveUserProfile loadDataFromNetwork() throws IOException {
    Ln.d("Call web service " + apiUrl);

    HttpRequest request = getHttpRequestFactory().buildPostRequest(new GenericUrl(apiUrl),
        ByteArrayContent.fromString("application/json", mJsonObject.toString()));

    request.setParser(new JacksonFactory().createJsonObjectParser());

    return request.execute().parseAs(getResultType());
    }

}

我尝试使用Multipart HTTP Requests但它不起作用。

4

1 回答 1

0

在此处检查此答案https://stackoverflow.com/a/17151284/881771 您可以在调用之前将 FileUpload 逻辑添加到您的 loadFromNetwork 方法中

request.execute().parseAs(getResultType());
于 2014-02-04T15:46:26.113 回答