Я изучал «Новую книгу начинающих» и делал практику в книге, практика заключается в том, чтобы представить картинку, которая была загружена пользователем. это пример написал с node-formidable
, код, как показано ниже:Ошибка загрузки изображения с использованием 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