我想从我的javascript应用程序上传文件到restful api服务。它应该使用像“c:/folder/test.png”这样的本地路径并上传到类似“localhost / uploads”的内容,是否有一个简单的approch,我有点迷失上传部分并尝试搜索,但没有发现任何与我的情况相符的内容,我已经尝试过以下代码:
var request = require('request');
var url = "http://localhost/uploads";
var req = request.post(url, function (err, resp, body) {
if (err) {
console.log('Error!');
} else {
console.log('URL: ' + body);
}
});
var form = req.form();
form.append('file', fs.createReadStream("C:/kristian/Devbeasts-small.png"));
此代码给出了错误:错误:无法找到模块'request'
它需要多部分表单数据。
答案 0 :(得分:1)
post
方法可以将包含url
和formData
对象的对象作为第一个参数,如here所示。
var formData = {
name: 'file1',
file: {
value: fs.createReadStream('C:/kristian/Devbeasts-small.png'),
options: {
filename: 'Logo_flame.png',
contentType: 'image/png'
}
}
};
request.post({url:'http://localhost/uploads', formData: formData},
function cb(err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log('Upload successful! Server responded with:', body);
}
);
答案 1 :(得分:0)
您需要使用https://github.com/felixge/node-formidable 它可以快速上传文件