Retrofit+rxjava & & okhttp 파일 업로드

1508 단어 angroid
프레임 코드는 붙지 않습니다.Retrofit+Rxjava Utils 클래스 키 코드
File f1 = new File(“/storage/emulated/0/Pictures/c.png”);
RequestBody requestFile = RequestBody.create(MediaType.parse(“multipart/form-data”), f1); //MultipartBody.Part와 백엔드에서 Key를 약속합니다. 여기 있는 partName은 이미지 MultipartBody를 사용합니다.Part body = MultipartBody.Part.createFormData(“image”, f1.getName(), requestFile); RequestBody uidBody = RequestBody.create(MediaType.parse(“text/plain”), uid);
Api 키 코드
@POST(UPLOAD_PATH) @Multipart Flowable upLoad(@Part(“uid”) RequestBody uid, @Part MultipartBody.Part file);
2.okhttp
FormBody paramsBody=new FormBody.Builder() .add ("id", "id (매개 변수)").build();
MediaType type=MediaType.parse(“application/octet-stream”);//”text/xml;charset=utf-8"File file=new File(파일 경로);RequestBody fileBody=RequestBody.create(type,file);
RequestBody multipartBody = new MultipartBody.Builder() .setType(MultipartBody.ALTERNATIVE)
//     
    .addPart(Headers.of(
        "Content-Disposition",
        "form-data; name=\"params\"")
            ,paramsBody)
    .addPart(Headers.of(
        "Content-Disposition",
        "form-data; name=\"file\"; filename=\"plans.xml\"")
         ,fileBody)

Request request=new Request.Builder().url(url) .addHeader(“User-Agent”,”android”) .header(“Content-Type”,”text/html; charset=utf-8;”) .post(multipartBody)//매개 변수, 파일 또는 혼합을 전송하고 변경하면 요청체가 됩니다.build();

좋은 웹페이지 즐겨찾기