14
में अपलोड की गई फ़ाइल का MIME प्रकार प्राप्त करने के लिए मैं जर्सी में एक मानक अपलोड endpoint है:कैसे जर्सी
@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
करता हूं तो यह मुझे फॉर्म का एमआईएम प्रकार प्राप्त करता है; इस मामले में form-data
।
मुझे पता है कि जानकारी कहीं कहीं है;
-----------------------------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 का उपयोग करने की कोशिश कर रहा था लेकिन यह टेक्स्ट फ़ाइलों पर असफल रहा प्रतीत होता है), और जब मैं फॉर्म [इंफोर्मेटाम ("my_file") बॉडीपार्ट बॉडी के इंजेक्शन पैरामेट को जोड़ता हूं, तो यह अभी मिलता है शून्य करने के लिए सेट करें। – Arkaaito
@Arkaaito मैंने थोड़ी देर में इसे छुआ नहीं है, लेकिन क्या आपने अपने एंडपॉइंट के लिए मल्टीपार्ट पैरामीटर देखे हैं? आपको फॉर्मडाटा पैराम के साथ इसे उपसर्ग करने की आवश्यकता नहीं है और आप उस से शरीर के अंग प्राप्त कर सकते हैं। –
बिगरेडबेटाफ़िश की टिप्पणी: "बॉडीपार्ट प्राप्त करने के लिए स्वीकार्य उत्तर पर बस एक नोट, आप इसका उपयोग कर सकते हैं: ' @FormDataParam ("my_file") FormDataBodyPart body' फिर आप 'body.getMediaType()' –