14
我有一個標準上傳終點在新澤西州:如何獲得MIME類型上傳文件的澤西
@POST
@Secure
@Consumes("multipart/form-data")
public Response upload(@Context final HttpHeaders hh,
@FormDataParam("fileaaa") final FormDataContentDisposition disposition,
@FormDataParam("fileaaa") final InputStream input,
我怎樣才能獲得MIME類型上傳文件的?
如果我做disposition.getType
這讓我的表單的MIME類型;在這種情況下form-data
。
我知道信息在某處; HTTP消息應該是這樣的:
-----------------------------7d01ecf406a6
Content-Disposition: form-data; name="input_text"
mytext
-----------------------------7d01ecf406a6
Content-Disposition: form-data; name="fileaaa";
filename="C:\Inetpub\wwwroot\Upload\pic.gif"
Content-Type: image/gif
(binary content)
-----------------------------7d01ecf406a6--
在這裏復活一個死的問題,但你是如何做到這一點?我遇到了同樣的問題(試圖使用URLConnection.guessContentTypeFromStream,但它似乎在文本文件上失敗),並且當我添加一個注入的形式參數[@FormDataParam(「my_file」)BodyPart body]時,它只是獲取設置爲空。 – Arkaaito 2011-11-03 02:09:48
@Arkaaito我有一段時間沒有碰過這個,但是你有沒有看過你的端點的MultiPart參數?你不需要在FormDataParam中加前綴,你可以從中獲取正文部分。 – 2011-11-03 15:07:09
BigRedBettaFish的評論:「只需注意接受的答案,獲取BodyPart,即可使用: '@FormDataParam(」my_file「)FormDataBodyPart body' 然後,您可以使用'body.getMediaType()'」 – 2012-02-17 23:08:39