如何使用带有 ajax 的 FormData 读取从表单发送的数据并将其存储到本地文件夹?
How can I read data sent from form using FormData with ajax and store it to local folder?
这是我在客户端的 ajax 代码:
$('#btn_file').on('change', function(e){
e.preventDefault();
var data = new FormData();
data.append('photo', $('#btn_file')[0].files[0]);
$.ajax({
url: "/media/images",
type: "POST",
data: data,
processData: false,
contentType: false,
success: function (data) {
console.log(data);
}
});
return false;
});
这是我的服务器端:
app.post('/media/images', function (req, res) {
//What do I have to do to get an image and save it? And how do I rename the file?
});
HTML:
<form id="send_image" ction=”/media/images” method=”post” enctype=”multipart/form-data”>
<input type="file" name="photo" id="btn_file"/>
</form>
我找到了一些示例,但其中 none 有效。我真的不知道问题出在哪里。谢谢。
在 Node JS 中管理文件上传你可以使用 Formidable:https://www.npmjs.com/package/formidable#readme
var formidable = require('formidable');
app.post('/media/images', function (req, res) {
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'image/jpeg'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
});
然后要存储文件,您可以使用 "fs" api.
这是我在客户端的 ajax 代码:
$('#btn_file').on('change', function(e){
e.preventDefault();
var data = new FormData();
data.append('photo', $('#btn_file')[0].files[0]);
$.ajax({
url: "/media/images",
type: "POST",
data: data,
processData: false,
contentType: false,
success: function (data) {
console.log(data);
}
});
return false;
});
这是我的服务器端:
app.post('/media/images', function (req, res) {
//What do I have to do to get an image and save it? And how do I rename the file?
});
HTML:
<form id="send_image" ction=”/media/images” method=”post” enctype=”multipart/form-data”>
<input type="file" name="photo" id="btn_file"/>
</form>
我找到了一些示例,但其中 none 有效。我真的不知道问题出在哪里。谢谢。
在 Node JS 中管理文件上传你可以使用 Formidable:https://www.npmjs.com/package/formidable#readme
var formidable = require('formidable');
app.post('/media/images', function (req, res) {
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'image/jpeg'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
});
然后要存储文件,您可以使用 "fs" api.