gpt4 book ai didi

android - Retrofit 2 具有不同文件名的多部分文件上传

转载 作者:行者123 更新时间:2023-12-02 03:13:51 24 4
gpt4 key购买 nike

这是我的代码。它正常工作。但我想上传其他图像类型,如 png、jpeg 等。因此我想更改 filename=\"file1.jpeg"

另外我想同时发送不同数量的文件。

请帮我解决这个问题。谢谢。

public interface FileUploadService {  
@Multipart
@POST("upload")
Call<ResponseBody> upload(@Part("description") RequestBody description,@Part("file1\"; filename=\"file1.jpeg") RequestBody file1);
}



private void uploadFile() {
FileUploadService service =
ServiceGenerator.createService(FileUploadService.class);

RequestBody requestFile =
RequestBody.create(MediaType.parse("multipart/form-data"), new File("/path/to/mypic.jpeg"));

String descriptionString = "hello, this is description speaking";
RequestBody description =
RequestBody.create(
MediaType.parse("multipart/form-data"), descriptionString);

Call<ResponseBody> call = service.upload(description, body);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call,
Response<ResponseBody> response) {
Log.v("Upload", "success");
}

@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
Log.e("Upload error:", t.getMessage());
}
});
}

最佳答案

试试这个:

@POST("upload")
fun upload(@BODY parts: MultipartBody): Call<ResponseBody>

客户端看起来像这样:

val parts = MultipartBody.Builder()
.addFormDataPart(name = "name",filename = "yourDynamicFileName", RequestBody.create(...))
.build()
// don't forget to name an extension of your file

api.upload(parts).execute()

关于android - Retrofit 2 具有不同文件名的多部分文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38236726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com