我正在使用 multer 和 Nodejs 上传图片。上传工作完美。问题是我想将这些图像直接上传到 IIS 网络服务器的 wwwroot
文件夹内的文件夹。
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
中的图片以保存该位置中的任何照片,我需要做哪些修改。
答案 0 :(得分:0)
我已经解决了这个问题,比如 '../../../../wwwroot/abc/def/'
的路径硬编码。这不是有效的方法,但它适用于我的特定问题,因为图像文件夹将来不会改变。