Im trying to upload multiple files to a nodeJS using the multer
module. Reading the docs and req.files
is suppose to be an array but I am getting an object with the field name as the key and a File
object as the value.
Previously I had this with with angular2 but after switching over to react Im now having these issues. I am using the native fetch library which might make a difference but I don't think so since the request looks proper.
I have tried npm installing multer and event cloning multer from github into the node_modules directory
I am using Node v7.2
, multer v1.2
with react on the frontend with native fetch
to make the request.
Thanks
Node route:
const upload = multer({ dest: config.uploads.tempDir })
...
this.app.get('/uploads/:type/:filename', upload.fields([{ name: 'files[]', maxCount: 10 }]), this.display.bind(this));
The form data:
content-type:multipart/form-data; boundary=----WebKitFormBoundaryuWi9tvnulMlxRl1m
------WebKitFormBoundaryuWi9tvnulMlxRl1m
Content-Disposition: form-data; name="files"; filename="0fR0RmH.jpg"
Content-Type: image/jpeg
------WebKitFormBoundaryuWi9tvnulMlxRl1m
Content-Disposition: form-data; name="files"; filename="1d41a1d957c241d38a1f0782698710b2.jpeg"
Content-Type: image/jpeg
------WebKitFormBoundaryuWi9tvnulMlxRl1m--
req.files
output
{ files:
File {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
size: 713505,
path: '/var/folders/85/dsxc639j6dg5yc6ljhy_vmhm0000gn/T/upload_8a839d16dc74cfd1709bdd78699b05c8',
name: '1d41a1d957c241d38a1f0782698710b2.jpeg',
type: 'image/jpeg',
hash: null,
lastModifiedDate: 2017-05-27T16:20:24.665Z,
_writeStream:
WriteStream {
_writableState: [Object],
writable: false,
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
path: '/var/folders/85/dsxc639j6dg5yc6ljhy_vmhm0000gn/T/upload_8a839d16dc74cfd1709bdd78699b05c8',
fd: null,
flags: 'w',
mode: 438,
start: undefined,
autoClose: true,
pos: undefined,
bytesWritten: 713505,
closed: true } } }
The form:
<input
ref="fileUpload"
name="files"
multiple
type="file"
onChange={() => this.props.onChange(this.refs.fileUpload) }
via locrizak
No comments:
Post a Comment