クライアントがファイルを 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 メソッドが呼び出されます。