无法通过 minio 生成的上传链接上传文件

Unable to upload file via uploadlink generated by minio

我有一个后端 returns 通过 minio 服务器上传link,当对端点进行 API 调用时,/attachments 在我的例子中。这是后端的 POST 处理程序。

@POST
@Consumes({MediaType.APPLICATION_JSON})
@Produces({MediaType.TEXT_PLAIN})
public String migrateToMinio(Attachment attachment) throws Exception {
    Integer id = attachmentService.createNew(attachment);  
    String uploadLink = minioFileServer.getUploadLinkForFile("test", attachment.getUuid(), attachment.getName());        
    return uploadLink;
}

当我通过 Postman 向此 API 发送 POST 请求时,我收到上传 link 作为响应。

但是,当我使用 CURL 将文件上传到那个上传​​link,使用这个命令

curl "http://127.0.0.1:9000/test/49fa2963-f44b-481d-a6c4-cdd2cd25e3bb/a.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=9LPWUPSK3DEO66JR04LD%2F20180921%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180921T152901Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=73dfe83f6b44a19d77ab08c9317b5bbda213e6ea9e50541f6b664d0e103909d0" -F "file=@/Users/Roshan/Desktop/a.txt"

它给我一个错误,说这个方法是不允许的,就像这样:

但是,当我使用 minio 客户端和 CURL 手动生成上传 link 到带有文件位置的 link 时,它工作得很好。我真的很感激任何 help/suggestion 。

原来我做错了。当我向 minio 服务器生成的上传 link 发送 PUT 请求时,上传工作正常,HTTP 200 OK!

我希望这对遇到同样问题的人有所帮助。