Trước khi tôi đăng câu hỏi này ở đây, tôi đã cố gắng thêm @Multipart
phương thức giao diện trên và tìm kiếm trong stackoverflow vẫn không thể tìm thấy tương tự với vấn đề của tôi.Các tham số @Part chỉ có thể được sử dụng với mã hóa nhiều phần. (tham số # 8)
Trong trường hợp này, tôi cố gắng gửi hình ảnh bằng cách sử dụng TypedFile
đến máy chủ. My phương pháp giao diện nhìn như thế này:
@Headers({"Content-type: application/json"})
@POST("/user/change")
void postChange(@Query("name") String name, @Query("email") String email, @Query("password") String password, @Query("phone") String phone, @Query("user_id") String userId, @Query("address[]") String[] listAddress, @Query("head[]") String[] head, @Part("photo_profile") TypedFile photoProfile, @Body TypedInput jsonObject, Callback<ReceiveDTO> callback);
EDIT
Trong phương pháp mà chúng ta có thể thấy @Part
và @Body
. Nếu tôi thêm @Multipart
trên phương pháp, nó chúng tôi sẽ ném ra một lỗi @Body parameters cannot be used with form or multi-part encoding. (parameter #9)
Tôi đang sử dụng Retrofit 1,9
tôi sẽ đề nghị làm theo ví dụ ở đây - https://futurestud.io/blog/retrofit-2-how-to-upload-files-to-server sử dụng nhiều phần dữ liệu và sau đó chỉnh sửa câu hỏi với vấn đề bạn đang đang đối mặt với –