我正在学习“The Node初学者书”并在书中做练习,练习是呈现一张由用户上传的图片。这是一个例子与node-formidable
写道,代码如下:使用节点强大的上传图片错误
var formidable = require('formidable'),
http = require('http'),
util = require('util');
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
return;
}
// show a file upload form
res.writeHead(200, {'content-type': 'text/html'});
res.end(
'<form action="/upload" enctype="multipart/form-data" '+
'method="post">'+
'<input type="text" name="title"><br>'+
'<input type="file" name="upload" multiple="multiple"><br>'+
'<input type="submit" value="Upload">'+
'</form>'
);
}).listen(8888);
我node filename.js
运行它,然后我打开我的浏览器位于http://localhost:8888/upload,当属以下东西:
我进入名称并选择一个文件,然后说到如下:
我点击upload
按钮,如下回应:
received upload:
{ fields: { title: 'Hello Wolrd' },
files:
{ upload:
File {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
size: 37417,
path: '/tmp/upload_a306115e1e630a0c548b6d820fe803cb',
name: 'myfile_icon_file_4.png',
type: 'image/png',
hash: null,
lastModifiedDate: 2016-10-11T03:52:41.052Z,
_writeStream: [Object] } } }
如何获得财产path
?为什么在这里创建一个单词File
?
这是'强大'库的内部表示。 “文件”的一个实例。你可以通过以下途径访问路径:'files.upload.path' – notion
我试过了,但是出现错误:'TypeError:无法读取未定义的属性'路径',如何? – Rico