ソリューションをアップロードします: は私の闊歩契約でエラーが発生しました、ファイルアップロードの正しい定義は次のようになります。闊歩NodeJSファイル
parameters:
- in: formData
name: file
description: The file to upload
required: true
type: file
がヒントをありがとう!
オリジナル質問:
私は私の闊歩/ NodeJSのAPIに関する問題を抱えています。
ファイルアップロードを受信し、取得したファイルを別のクラウドサービスに保存したいと考えています。
悲しいことに、ファイルは私が期待している形式で届きません。 これは私が郵便配達経由req.swagger.params.image.valueで受け取るものです:
------WebKitFormBoundaryZCFoUQnf4lHIhzjj
Content-Disposition: form-data; name="image"; filename="r14kvzvmsh3xnuyl2vq8.png"
Content-Type: image/png
�PNG
IHD�o&�IDA�c���?� � ��1��X��5�юIEND�B`�
------WebKitFormBoundaryZCFoUQnf4lHIhzjj--
テスト画像as a PNGまたはbase64のよう:
iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
画像のための私のcloudproviderがcloudinaryですしたがって、次のコードを使用すると、サービスに正常に保存されます。私は
new Buffer(req.swagger.params.image.value, 'binary').toString('base64');
を使用する場合
cloudinary.v2.uploader.upload("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")
私は、ファイルがBASE64に変換されると予想、私はなどのContent-Typeを定義するREQのパーツも変換されると思います。
誰かがfileuploadsとswaggerで作業する方法を知っているので、私は正常に画像をアップロードすることができますか?
正規表現は、これは私の闊歩契約でimageuploadの一部である
...非常に「ハック」と思われる:あなたの代わりにbase64での生のバイナリ画像をアップロードしているよう
/imageUpload:
x-swagger-router-controller: image_upload
post:
description: Endpoint to upload the image file. The image has to be uploaded before the shipment is created, a response will be the image ID that has to be supplied to the shipment. If the image ID is not valid, i.e. not known to this api, the shipment can not be created
operationId: storeImage
consumes:
- multipart/form-data
- application/x-www-form-urlencoded
- binary
parameters:
- in: body
name: image
description: The file to upload
required: true
schema:
type: string
format: file
responses:
"200":
description: Success
schema:
# a pointer to a definition
$ref: "#/definitions/ImageResponse"
# responses may fall through to errors
default:
description: Error
schema:
$ref: "#/definitions/ErrorResponse"
こんにちは、それをしていただきありがとうございます、解決策を表示するために私の質問を編集します。 – DaveTheSane
驚くばかりです。私はそれも答えに書くだろう。 – brandonscript