0
私はインターネットでのチュートリアルに従ったretrofitで画像をアップロードしました。 は、ここに私のコードです:イメージをbase64形式でアップロードし、改造してサーバーに送信する前にイメージを圧縮しましたか?
AcademicClient.class
@Multipart
@POST("/")
Call<ResponseBody> postImage(@Part MultipartBody.Part image, @Part("name")RequestBody name);
MainFeed.class Base64でそれを変換し、それは、サーバに送信する前に最初の画像を圧縮する方法
File file = new File(filePath);
RequestBody reqFile = RequestBody.create(MediaType.parse("image/*"),file);
MultipartBody.Part body = MultipartBody.Part.createFormData("upload",file.getName(),reqFile);
RequestBody name = RequestBody.create(MediaType.parse("text/plain"),"upload_test");
Log.d("xxxxxxx",body + " ---- "+ name);
AcademicClient client = ServiceGenerator.createService(AcademicClient.class);
Call<ResponseBody> call = client.postImage(body,name);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
改造?コードの下
IM申し訳ありませんが、IMのビットは混乱しています。 IMはアンドロイドで新しいです。私はacademicClientクラスで変更する必要がありますか?あなたは私がMultipartなしで送ることができると言いましたか? –
私はちょっと混乱しています。私はアンドロイド開発ではまだ新しいです。私のacademicClientクラスとmaindfeedクラスにいくつかの変更がありますか?あなたは私がMultipartを使わずに送ることができると言ったので? –
はい、Base64(画像)文字列をサーバーに送信できます。 –