Angularjs 角度文件上传-如何获取上传文件的URL
我正在尝试创建一个表单,用户可以选择一个图像并作为条目的一部分进行上传 我有上传功能工作。当用户选择图像并按“上载”时,图像将上载到服务器上的文件夹 然而,我需要做的是以某种方式获取URL并将其用作表单中的参数 按钮只调用上传功能Angularjs 角度文件上传-如何获取上传文件的URL,angularjs,Angularjs,我正在尝试创建一个表单,用户可以选择一个图像并作为条目的一部分进行上传 我有上传功能工作。当用户选择图像并按“上载”时,图像将上载到服务器上的文件夹 然而,我需要做的是以某种方式获取URL并将其用作表单中的参数 按钮只调用上传功能 <button class="btn btn-primary" ng-click="uploadProductPicture();">Upload</button> 当用户上传文件时,我从哪里获得URL 添加了服务器逻辑 exports.ch
<button class="btn btn-primary" ng-click="uploadProductPicture();">Upload</button>
当用户上传文件时,我从哪里获得URL
添加了服务器逻辑
exports.changeProductPicture = function (req, res) {
fs.writeFile('./modules/deals/client/img/uploads/' + req.files.file.name, req.files.file.buffer, function (uploadError) {
if (uploadError) {
return res.status(400).send({
message: 'Error occurred while uploading profile picture'
});
} else {
res.json({ file: req.files.file.name });
// Set variable to file location
}
});
};
路线
app.route('/api/deals/picture')
.post(deals.changeProductPicture);
首先,您需要决定如何为上传到服务器中的图像文件提供服务。 如果在节点服务器中使用
express
,则可以使用express.static
模块像普通静态图像一样为上载的图像提供服务
我认为代码是这样的
在节点中
现在,客户端可以通过提取json响应来使用上传图像的url
我希望这个例子能让您有所了解。使用将文件写入目录的相同服务器逻辑返回urlIm,但我不确定如何返回。我添加了路由调用的函数,但我相当确定我的设置是错误的。
app.route('/api/deals/picture')
.post(deals.changeProductPicture);
var upload_image_dir = './modules/deals/client/img/uploads/';
// route setting
app.use('/upload-images', express.static(upload_image_dir));
// image upload handler
exports.changeProductPicture = function (req, res) {
fs.writeFile(upload_image_dir + req.files.file.name, req.files.file.buffer, function (uploadError) {
if (uploadError) {
return res.status(400).send({
message: 'Error occurred while uploading profile picture'
});
} else {
res.json({ file: req.files.file.name,
url_image: upload_image_dir + req.files.file.name
});
}
});
};