0

API 呼び出しがエンドポイント (私の場合は /attachments) に対して行われると、minio サーバー経由で uploadlink を返すバックエンドがあります。これはバックエンドの 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 要求を送信すると、応答としてアップロード リンクが返されます。 ここに画像の説明を入力

しかし、CURL を使用してそのアップロードリンクにファイルをアップロードすると、このコマンドを使用して

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 を送信すると、問題なく動作します。これに関するヘルプ/提案をいただければ幸いです。

4

1 に答える 1