相关代码:
var querystring = require('querystring'),
fs = require('fs'),
formidable = require('formidable');
function start(response) {
console.log('Request handler "start" was called.');
var body = '<html>' +
'<head>' +
'<meta http-equiv="Content-Type" content="text/html; ' +
'charset=UTF-8" />' +
'</head>' +
'<body>' +
'<form action="/upload" enctype="multipart/form-data" method="post">' +
'<input type="file" name="upload">' +
'<input type="submit" value="Upload file" />' +
'</form>' +
'</body>' +
'</html>';
response.writeHead(200, {
'Content-Type': 'text/html'
});
response.write(body);
response.end();
}
function upload(response, request) {
console.log('Request handler "upload" was called.');
var form = new formidable.IncomingForm();
console.log('about to parse');
form.parse(request, function (error, fields, files) {
console.log('parsing done');
fs.renameSync(files.upload.path, '/tmp/test.png');
// 返回 upload 处理程序的处理结果。
response.writeHead(200, {
'Content-Type': 'text/html'
});
response.write('received image:<br/>');
response.write('<img src="/show">')
response.end();
});
}
function show(response) {
console.log('Request handler "show" was called.');
fs.readFile('/tmp/test.png', 'binary', function (error, file) {
if (error) {
response.writeHead(500, {
'Content-Type': 'text/plain'
});
response.write(error + '\n');
response.end();
} else {
response.writeHead(200, {
'Content-Type': 'image/png'
});
response.write(file, 'binary');
response.end();
}
})
}
exports.start = start;
exports.upload = upload;
exports.show = show;
上传之后,可以在浏览器中看到。但是通过 root
帐号通过 SSH
在服务器上却看不到上传的文件。
Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
欢迎选择我的课程,让我们一起见证您的进步~~