java - 如何使用带有 JSON 数据的 RoboSpice Google Http Java 客户端模块上传文件

标签 java android json robospice google-http-client

我正在使用 RoboSpice Google Http Java 客户端模块,并且我使用 JSON 数据成功执行了 POST 请求。

问题: 我现在的问题是我必须在 POST 请求中附加 byte[] 数据,但我无法找到任何数据使用 RoboSpice Google Http Java 客户端模块 执行此操作的方法。

这是我的代码 fragment :

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 但它不起作用。

最佳答案

在这里检查这个答案 https://stackoverflow.com/a/17151284/881771 您可以在调用

之前将 FileUpload 逻辑添加到您的 loadFromNetwork 方法中
request.execute().parseAs(getResultType());

关于java - 如何使用带有 JSON 数据的 RoboSpice Google Http Java 客户端模块上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21523982/

相关文章:

java - 使用 Java 仅访问一次 Reddit .json 页面时出现 HTTP 429 请求过多

Python 从迭代源创建字典列表

android - 无法再运行我的应用程序说“INSTALL_FAILED_VERIFICATION_FAILURE

java - JMeter : java.net.NoRouteToHostException:无法分配请求的地址(地址不可用)

java - 安卓多人网络游戏

java - 单独声明并分配给最终变量 - Java

android - FCM(Firebase 云消息传递)是否支持直接启动?

android - 如何解决应用程序 list 中的 URI 方案未正确设置错误

jquery - jstree AJAX 不起作用,有语法错误 : unrecognized expression for the json

java - 如何在JSP中动态更改月份?