gpt4 book ai didi

android - 使用 application/x-www-form-urlencoded 上传文件使用改造

转载 作者:行者123 更新时间:2023-11-29 02:37:54 25 4
gpt4 key购买 nike

如何像下图那样配置改造工作

enter image description here

这是我的代码:

    // interface ImageUploadService

@Multipart
@POST("/api=upl_img_version_2&token={token}&img_cat=3&sum={sum}")
Observable<ServerResponse> uploadAvatar(@Path("token") String token, @Path("sum") String sum, @Part MultipartBody.Part file);
===========================================

//File creating from selected URL
File file = new File(path);

// create RequestBody instance from file
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);

// body part send to server
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);

view.showLoadingDialog();
imageUploadService.uploadAvatar(token, sum, body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<ServerResponse>() {
@Override
public void onCompleted() {
view.hideLoadingDialog();
}

@Override
public void onError(Throwable e) {
e.printStackTrace();
view.hideLoadingDialog();
}

@Override
public void onNext(ServerResponse serverResponse) {
Log.d("aaaaa", serverResponse.toString());
}
})

然后使用 burp suite 来捕获请求,它与 ios(工作)不同,我对此没有任何想法或关键词。谢谢

最佳答案

我刚刚找到了一个解决方案,想帮助别人面对同样的问题而不是删除这个问题。

这里是工作代码:

interface ImageUploadService {
//@Multipart
@POST("/api=upl_img_version_2&token={token}&img_cat=3&sum={sum}")
Observable<ServerResponse> uploadAvatar(@Path("token") String token, @Path("sum") String sum, @Body RequestBody file); // @Part => @Body
}

///////////////////////////////
File file = new File(path);

// MediaType.parse("multipart/form-data")
RequestBody requestBody = RequestBody.create(MediaType.parse("application/octet-stream"), file);
imageUploadService.uploadAvatar(token, sum, requestBody)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<ServerResponse>() {
@Override
public void onCompleted() {
view.hideLoadingDialog();
}

@Override
public void onError(Throwable e) {
e.printStackTrace();
view.hideLoadingDialog();
}

@Override
public void onNext(ServerResponse serverResponse) {
Log.d("aaaaa", serverResponse.toString());
}
})

关于android - 使用 application/x-www-form-urlencoded 上传文件使用改造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45952155/

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