Android 改装上传的图像在服务器上损坏

Android retrofit uploaded image is corrupted on server

我正在尝试通过改造上传图片,但服务器上的结果图片已损坏!!!

----------------> 在 xampp 服务器上 ( Api27.php )<-------------- --

<?php
    $result = array("success" => $_FILES["file"]["name"]);
    $file_path = basename( $_FILES['file']['name']);
    
    if(move_uploaded_file($_FILES['file']['tmp_name'], $file_path)) {
        $result = array("success" => "File successfully uploaded");
    } else{
        $result = array("success" => "error uploading file");
    }
    
    echo json_encode($result, JSON_PRETTY_PRINT);
?>

----------------> Api.java <----------------

public interface Api {
    
    @Multipart
    @POST("Api27.php")
    Call<ResponseBody> uploadFile(@Part("title") RequestBody title,
                                  @Part MultipartBody.Part imageFile);
}

----------------> 这是我上传的函数<----------------

private void uploadFile(File myImagePathCompressed) {


    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("http://192.168.0.45/ImageUploadApi/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    Api api = retrofit.create(Api.class);

    Call<ResponseBody> uploadFileCall = api.uploadFile(
            RequestBody.create(MediaType.parse("text/plain"), "title"),
            MultipartBody.Part.createFormData("file", myImagePathCompressed.getName(),
                    RequestBody.create(MediaType.parse("image"), myImagePathCompressed)));


    uploadFileCall.enqueue(new Callback<ResponseBody>() {
        @Override
        public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
            if (response.isSuccessful()) {
                // TODO
                Toast.makeText(SaveShowUpload.this, "response : \n" + response.body().toString(), 
                                                                   Toast.LENGTH_SHORT).show();
            }
        }

        @Override
        public void onFailure(Call<ResponseBody> call, Throwable t) {
            // TODO
        }
    });
}

感谢那些花时间查看此 post 问题的人, 这是我的回答: 上面的代码是正确的,我只是以错误的方式压缩图像。 我希望这 post 对某人有所帮助 :)