Pic*_*els 5 javascript node.js express
我有以下代码上传到我的Node.js/Express.js后端.
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function (e) {
var result = http.post('/files', e.target.result);
result.success(function () {
alert('done'):
});
}
Run Code Online (Sandbox Code Playgroud)
我的路线看起来像:
app.post('/files', function (req, res) {
var cws = fs.createWriteStream(__dirname + '/media/file');
req.pipe(cws);
res.send('success');
});
Run Code Online (Sandbox Code Playgroud)
当我用图像应用程序打开/ media/file时,我收到一条警告,说它无法读取它.当我用文本编辑器打开图像文件时,我在里面看到了base64编码的字符串.在将字符串写入桌面之前,是否需要首先转换字符串?
问题是DataURL以元数据为前缀.首先需要在创建base64缓冲区之前删除该部分.
var data_url = req.body.file;
var matches = data_url.match(/^data:.+\/(.+);base64,(.*)$/);
var ext = matches[1];
var base64_data = matches[2];
var buffer = new Buffer(base64_data, 'base64');
fs.writeFile(__dirname + '/media/file', buffer, function (err) {
res.send('success');
});
Run Code Online (Sandbox Code Playgroud)
得到了这个问题的大部分代码.
| 归档时间: |
|
| 查看次数: |
6312 次 |
| 最近记录: |