इस क्ष & एक देखा था, लेकिन ओ पी How to post files in swagger?swagger-node-express: swagger-ui से फ़ाइल कैसे अपलोड करें?
के रूप में एक ही परिणाम नहीं था मेरी अकड़ नोड-एक्सप्रेस एपीआई
exports.saveFile = {
'spec' : {
"description" : "Saves a file to filesystem",
"path" : "/uploads/file",
"notes" : "",
"summary" : "POST a file to storage",
"method" : "POST",
/* "supportedContentTypes" : [ 'multipart/form-data' ], */
"produces":[ "application/json" ],
"consumes":[ "multipart/form-data" ],
"params" : [{
"name": "File",
"description": "The file to upload.",
"paramType": "body",
"required": true,
"allowMultiple": false,
"dataType": "file"
}
],
"responseClass" : "ArbitraryJson",
"errorResponses" : [ errors.invalid('file') ],
"nickname" : "saveFile"
},
'action' : function(req, res) {
res.send('{"msg":"success", "file path": "' + req.files.file.path + '"}');
}
};
में इस युक्ति का उपयोग करते हुए जब मैं कर्ल के माध्यम से पोस्ट, curl -v -F [email protected] http://127.0.0.1:3000/uploads/file
सब कुछ उम्मीद के रूप में काम करता है। जब मैं swagger-ui (v 2.0.2) के माध्यम से पोस्ट करता हूं तो यह विफल रहता है। मैंने दोनों परिस्थितियों में प्रॉक्सी का उपयोग किया और swagger-ui सामग्री-प्रकार निर्दिष्ट नहीं कर रहा है और न ही यह डेटा पास कर रहा है। कर्ल के माध्यम से
संक्षिप्त कच्चे पद
POST http://127.0.0.1:3000/uploads/file HTTP/1.1
User-Agent: curl/7.27.0
Host: 127.0.0.1:3000
Accept: */*
Content-Length: 43947
Expect: 100-continue
Content-Type: multipart/form-data; boundary=----------------------------9af70f8a272c
------------------------------9af70f8a272c
Content-Disposition: form-data; name="file"; filename="scrot.png"
Content-Type: application/octet-stream
...
------------------------------9af70f8a272c--
अकड़-ui के माध्यम से कच्चे पद संक्षिप्त (ऊपर आदेश का उपयोग)
POST http://127.0.0.1:3000/uploads/file HTTP/1.1
Host: 127.0.0.1:3000
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Referer: http://127.0.0.1:3000/docs/
Content-Length: 0
Content-Type: text/plain; charset=UTF-8
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
मैं अपने मार्ग/कल्पना कॉन्फ़िगर करना चाहिए ऐसा कैसे अकड़-ui पोस्ट करेंगे सही ढंग से?
क्या आपने कभी इसे हल किया था? एक ही चीज़ में चल रहा है। – clay
"शरीर" के बजाय '" paramType "' to "form" को सेट करने का प्रयास करें। – Ron