{"timestamp":"2021-12-17 11:42","status":400,"error":"Bad Request","message":"Required request part 'image' is not present","path":"/ct/image/mo_yu"} 2021-12-17 11:42:11.427 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: <-- END HTTP (149-byte body) 2021-12-17 11:42:11.429 21004-21004/com.lcq.st.sugarapp E/-->: updatafile--success code =400 2021-12-17 11:42:11.429 21004-21004/com.lcq.st.sugarapp E/-->: updatafile--success message=Bad Request 报错是400 看message好像是key对不上
api
// 上传文件 @Multipart @POST("/ct/image/mo_yu") Call<ResponseBody> uploadFile(@Part MultipartBody.Part file);
测试Activity
TestActivity.this.runOnUiThread(new Runnable() { @Override public void run() { if(pic_file != null){ String path = pic_file.getPath(); Bitmap bm = BitmapFactory.decodeFile(path); iv.setImageBitmap(bm); RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), pic_file); MultipartBody.Part body = MultipartBody.Part.createFormData("iamge", pic_file.getName(), requestFile); Call<ResponseBody> responseBodyCall = RetrofitManager.getInstance().getApiServer().uploadFile(body); responseBodyCall.enqueue(new Callback<ResponseBody>() { @Override public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) { int code = response.code(); String message = response.message(); Log.e("-->", "updatafile--success code ="+code); Log.e("-->", "updatafile--success message="+message); } @Override public void onFailure(Call<ResponseBody> call, Throwable t) { Log.e("-->", "updatafile --error message="+t.getMessage()); t.printStackTrace(); } }); } } });
看和查好久没看出头绪来 是因为我的key写错了么
您的每一个用心回答,都会让这个世界变得更美好一些!
// 创建 RequestBody,用于封装构建RequestBody val fileType = "图片的类型,可能是jpg,png,gif,自己想办法拿" val requestFile: RequestBody = RequestBody.create("image/$fileType".toMediaTypeOrNull(), file) // MultipartBody.Part 和后端约定好Key,这里的partName是用image val body: MultipartBody.Part = MultipartBody.Part.createFormData("image", file.name, requestFile) viewModelScope.launch { request { uploadImage(body) } .onSucceed { } .onFailure { } } /** * 上传摸鱼图片 * @param file Part * @return BaseResponse<String> */ @Multipart @POST("/ct/image/mo_yu") suspend fun uploadImage(@Part() file: MultipartBody.Part): BaseResponse<String> s少年,我这代码保熟。拿去用吧。如果看不懂kt,当我没说。
请求带乱码 这很奇怪
2021-12-17 11:42:11.424 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: <-- 400 Bad Request https://api.sunofbeach.net/ct/image/mo_yu (6610ms) 2021-12-17 11:42:11.424 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Server: nginx/1.17.6 2021-12-17 11:42:11.424 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Date: Fri, 17 Dec 2021 03:42:11 GMT 2021-12-17 11:42:11.424 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Content-Type: application/json;charset=UTF-8 2021-12-17 11:42:11.424 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Transfer-Encoding: chunked 2021-12-17 11:42:11.425 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Connection: keep-alive 2021-12-17 11:42:11.425 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: X-Content-Type-Options: nosniff 2021-12-17 11:42:11.425 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: X-XSS-Protection: 1; mode=block 2021-12-17 11:42:11.425 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Cache-Control: no-cache, no-store, max-age=0, must-revalidate 2021-12-17 11:42:11.425 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Pragma: no-cache 2021-12-17 11:42:11.425 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: Expires: 0 2021-12-17 11:42:11.425 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: X-Frame-Options: DENY 2021-12-17 11:42:11.427 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: {"timestamp":"2021-12-17 11:42","status":400,"error":"Bad Request","message":"Required request part 'image' is not present","path":"/ct/image/mo_yu"} 2021-12-17 11:42:11.427 21004-21470/com.lcq.st.sugarapp I/okhttp.OkHttpClient: <-- END HTTP (149-byte body) 2021-12-17 11:42:11.429 21004-21004/com.lcq.st.sugarapp E/-->: updatafile--success code =400 2021-12-17 11:42:11.429 21004-21004/com.lcq.st.sugarapp E/-->: updatafile--success message=Bad Request
报错日志 补全啦 各位大佬有空帮忙指点下哈
报错日志 补全啦 各位大佬有空帮忙指点下哈