node.js - 使用 Multer [Nodejs] 将图像上传到 Web 服务器目录
问题描述
我正在使用 multer 和 Nodejs 上传图片。上传完美。问题是我想将这些图像直接上传到wwwroot
IIS Webserver 文件夹内的文件夹中。
var Storage = multer.diskStorage({
destination: function (req, file, callback) {
// callback(null, "../grit-server/uploads/");
callback(null, "https://example.com/grit/images/photogallery/");
},
filename: function (req, file, callback) {
const sqc = sqlConn;
var fileNames = (file.originalname.split('_'))
let query = 'INSERT INTO dbo.MS_PhotoGallery (MinorId,Photo_Name) VALUES (@MinorId,@PhotoName)'
let params = [
sqc.paramize('MinorId', fileNames[1], sql.Int()),
sqc.paramize('PhotoName',fileNames[2], sql.VarChar(255))
]
sqc.SqlExecuteStatementCallback(
query,params,(result)=>{
res.send(result)
}
)
callback(null, file.originalname);
}
});
上面的代码是 Multer 存储,我在URL
其中设置上传图像的位置。但它抛出错误
'Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client'
我应该做哪些修改来上传URL
下面提到的图像Storage
以将任何照片保存在该位置。
解决方案
我已经解决了这个问题,对路径进行硬编码,例如'../../../../wwwroot/abc/def/'
. 这不是有效的方法,但它适用于我的特定问题,因为图像文件夹将来不会改变。
推荐阅读
- mysql - 在 MySQL 和 PHP 中将两条记录与一个公共字段合并并增加一个字段
- asp.net-mvc - AspNet Core 2 No service for type 'Microsoft.AspNetCore.Http.HttpContext' 会话问题
- actions-on-google - Actions on Google:如何使用 NodeJS 实现数据库和用户实体(会话)
- ios - 如何在 ios-charts 上添加长按?
- javascript - 如何从值0到1获得从红色到白色的平滑渐变值?
- javascript - CSS 转换仅在 Chrome 开发工具打开时有效
- javascript - 使用 jQuery 设置整个选择值
- regex - 正则表达式负面展望没有给出预期的结果
- sonarqube - 声纳认证
- square - TransactionID 中的最大字符数是多少?