title: swagger-node-express: How to upload file from swagger-ui?
body: <p>Saw this q&amp;a but did not have same results as OP <a href="https://stackoverflow.com/questions/14455408/how-to-post-files-in-swagger">How to post files in swagger?</a></p>
  
  <p>Using this spec in my swagger-node-express API</p>
  
  <pre><code>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 + '"}');
  
    }
  };
  </code></pre>
  
  <p>When I POST via curl, <code>curl -v -F file=@scrot.png http://127.0.0.1:3000/uploads/file</code> everything works as expected.  When I post via swagger-ui (v 2.0.2) it fails.  I used a proxy in both situations and the swagger-ui isn't specifying the content-type nor is it passing the data.</p>
  
  <p>Abbreviated raw post via curl (using command above)</p>
  
  <pre><code>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--
  </code></pre>
  
  <p>Abbreviated raw post via swagger-ui</p>
  
  <pre><code>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
  </code></pre>
  
  <p>How should I configure my route/spec so the swagger-ui will post correctly?</p>