使用Retrofit 2匿名上传到Imgur的API

时间:2017-02-27 14:12:56

标签: android retrofit2 imgur

我让我的用户在其图库中选择一张图片,保存其Uri,设置标题和说明,并希望使用Imgur的API匿名上传,this endpoint使用{{ 1}}。

到目前为止,我正在做的事情没有成功:

在我的Retrofit 2界面中:

ImgurAPI

在我的API处理程序中:

@Multipart
@POST("image")
Call<BrowseData>  postImage(
        @Header("Authorization") String auth,
        @Part MultipartBody.Part file,
        @Query("image") String image,
        @Query("album") String albumId,
        @Query("type") String type,
        @Query("title") String title,
        @Query("description") String description
);

在简单的public void uploadImage(Uri fileUri, String image, String album, String type, String title, String description) { // create upload service client (retrofit builder and such) ImgurAPI service = ServiceGenerator.createService(ImgurAPI.class); File file = FileUtils.getFile(caller.getActivity(), fileUri); // create RequestBody instance from file RequestBody requestFile = RequestBody.create( MediaType.parse(caller.getActivity().getContentResolver().getType(fileUri)), file ); // MultipartBody.Part is used to send also the actual file name MultipartBody.Part body = MultipartBody.Part.createFormData("picture", file.getName(), requestFile); // finally, execute the request Call<BrowseData> call = service.postImage(clientId, body, image, album, type, title, description); call.enqueue(new Callback<BrowseData>() { @Override public void onResponse(Call<BrowseData> call, Response<BrowseData> response) { Log.v("Upload", "success"); } @Override public void onFailure(Call<BrowseData> call, Throwable t) { Log.e("Upload error:", t.getMessage()); } }); } 点击中就是这样称呼的:

FAB

但是在执行请求时,我收到以下错误:

  

写入错误:ssl = 0x9c531200:系统调用期间的I / O错误,管道损坏

有人可以向我解释我做错了什么吗? (如果您有足够的信息)。

0 个答案:

没有答案