Comparing version 2.1.4 to 2.2.0
@@ -212,16 +212,21 @@ var CombinedStream = require('combined-stream'); | ||
var contentDisposition; | ||
var filename | ||
, contentDisposition | ||
; | ||
// custom filename takes precedence | ||
// fs- and request- streams have path property | ||
// formidable and the browser add a name property. | ||
var filename = options.filename || value.name || value.path; | ||
// or try http response | ||
if (!filename && value.readable && value.hasOwnProperty('httpVersion')) { | ||
filename = value.client._httpMessage.path; | ||
if (typeof options.filepath === 'string') { | ||
// custom filepath for relative paths | ||
filename = path.normalize(options.filepath).replace(/\\/g, '/'); | ||
} else if (options.filename || value.name || value.path) { | ||
// custom filename take precedence | ||
// formidable and the browser add a name property | ||
// fs- and request- streams have path property | ||
filename = path.basename(options.filename || value.name || value.path); | ||
} else if (value.readable && value.hasOwnProperty('httpVersion')) { | ||
// or try http response | ||
filename = path.basename(value.client._httpMessage.path); | ||
} | ||
if (filename) { | ||
contentDisposition = 'filename="' + path.basename(filename) + '"'; | ||
contentDisposition = 'filename="' + filename + '"'; | ||
} | ||
@@ -252,5 +257,5 @@ | ||
// or guess it from the filename | ||
if (!contentType && options.filename) { | ||
contentType = mime.lookup(options.filename); | ||
// or guess it from the filepath or filename | ||
if (!contentType && (options.filepath || options.filename)) { | ||
contentType = mime.lookup(options.filepath || options.filename); | ||
} | ||
@@ -257,0 +262,0 @@ |
@@ -5,3 +5,3 @@ { | ||
"description": "A library to create readable \"multipart/form-data\" streams. Can be used to submit forms and file uploads to other web applications.", | ||
"version": "2.1.4", | ||
"version": "2.2.0", | ||
"repository": { | ||
@@ -8,0 +8,0 @@ "type": "git", |
@@ -9,7 +9,7 @@ # Form-Data [![NPM Module](https://img.shields.io/npm/v/form-data.svg)](https://www.npmjs.com/package/form-data) [![Join the chat at https://gitter.im/form-data/form-data](http://form-data.github.io/images/gitterbadge.svg)](https://gitter.im/form-data/form-data) | ||
[![Linux Build](https://img.shields.io/travis/form-data/form-data/v2.1.4.svg?label=linux:0.12-6.x)](https://travis-ci.org/form-data/form-data) | ||
[![MacOS Build](https://img.shields.io/travis/form-data/form-data/v2.1.4.svg?label=macos:0.12-6.x)](https://travis-ci.org/form-data/form-data) | ||
[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/form-data/v2.1.4.svg?label=windows:0.12-6.x)](https://ci.appveyor.com/project/alexindigo/form-data) | ||
[![Linux Build](https://img.shields.io/travis/form-data/form-data/v2.2.0.svg?label=linux:0.12-6.x)](https://travis-ci.org/form-data/form-data) | ||
[![MacOS Build](https://img.shields.io/travis/form-data/form-data/v2.2.0.svg?label=macos:0.12-6.x)](https://travis-ci.org/form-data/form-data) | ||
[![Windows Build](https://img.shields.io/appveyor/ci/alexindigo/form-data/v2.2.0.svg?label=windows:0.12-6.x)](https://ci.appveyor.com/project/alexindigo/form-data) | ||
[![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/v2.1.4.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master) | ||
[![Coverage Status](https://img.shields.io/coveralls/form-data/form-data/v2.2.0.svg?label=code+coverage)](https://coveralls.io/github/form-data/form-data?branch=master) | ||
[![Dependency Status](https://img.shields.io/david/form-data/form-data.svg)](https://david-dm.org/form-data/form-data) | ||
@@ -136,3 +136,4 @@ [![bitHound Overall Score](https://www.bithound.io/github/form-data/form-data/badges/score.svg)](https://www.bithound.io/github/form-data/form-data) | ||
form.append('file', stdout, { | ||
filename: 'unicycle.jpg', | ||
filename: 'unicycle.jpg', // ... or: | ||
filepath: 'photos/toys/unicycle.jpg', | ||
contentType: 'image/jpg', | ||
@@ -149,2 +150,4 @@ knownLength: 19806 | ||
The `filepath` property overrides `filename` and may contain a relative path. This is typically used when uploading [multiple files from a directory](https://wicg.github.io/entries-api/#dom-htmlinputelement-webkitdirectory). | ||
For edge cases, like POST request to URL with query string or to pass HTTP auth credentials, object can be passed to `form.submit()` as first parameter: | ||
@@ -151,0 +154,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
22308
368
221