0

クライアントがファイルを RESTful Web サービスにアップロードするアプリケーション フローを構築しています。RESTful Web サービスは、ファイルを既定の事前定義された場所に保存します。

REST リソースの Java コード:

@Path("/file")
public class UploadFile {

    @POST
    @Path("/upload")
    @Consumes(MediaType.MULTIPART_FORM_DATA)
    public Response uploadFile(
            @FormDataParam("file") InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition fileDetail) {

        String uploadedFileLocation = "D:/uploaded/" + fileDetail.getFileName();

        // save
        writeToFile(uploadedInputStream, uploadedFileLocation);

        // ...
    }
}

クライアント側のコードは次のとおりです。

 <form action="http://localhost:8080/file/upload" method="post" enctype="multipart/form-data">
    <p>Select a file : <input type="file" name="file" size="50" /></p>
    <input type="submit" value="Upload" />
</form>

これは私にとってはうまくいきますが、クライアントがファイルの保存場所を決定できるようにコーディングしたいと思います。この場所をクライアントから REST サービスに渡すにはどうすればよいですか? パラメータを受け取るには GET メソッドを使用しますが、REST サービスでは POST メソッドが呼び出されます。

4

1 に答える 1

3

位置情報を含めるために別のものを追加inputform、おまけとして受け取ります@FormDataParam

そしてもちろん、場所を厳密に検証しないと、重大なセキュリティ リスクになります。私は個人的にいじってみたいと思っています/etc/passwd:)

于 2013-04-03T16:08:46.530 に答える