我正在开发 Flutter 应用程序,在其中使用预签名 URL 将图像文件(PUT 请求)上传到 AWS S3。上传成功,因为我可以在 S3 中看到文件。但是当我单击并从存储桶中下载它时,下载的文件已损坏。
我正在使用 Dio 库上传文件。通过邮递员将图像文件上传为二进制文件非常有效
uploadFileToPresignedS3(
File payload, String fileName, String presignedURL) async {
try {
Dio dio = new Dio();
FormData formData = new FormData.from(
{"name": fileName, "file1": new UploadFileInfo(payload, fileName)});
dio.put(presignedURL, data: formData);
} catch (ex) {
print(ex);
}
}
Run Code Online (Sandbox Code Playgroud)
预期:上传的文件不会被破坏
实际结果:上传的文件已损坏