我正在使用 ng-file-upload 和 multer 将文件存储在上传文件夹中,并且我还将文件名保存到数据库,但当然不是在同一时刻。因此,如果我想保存原始文件名,multer 会这样做:
filename: function (req, file, cb) {
cb(null, file.originalname);
我可以用
cb(null, file.originalname + '-' + Date.now());
使名称唯一,但数据库中的文件名(取自 ng-file-upload 服务)不同。我想在 github/danialfarid/ng-file-upload 页面上使用 Upload.rename(file, newName) 但我所有使用它的尝试都失败了。这是 ng-file-upload 代码(第一部分)
$scope.uploadPic = function(files) {
for(var i = 0; i < $scope.files.length; i++) {
var $file = $scope.files[i];
(function(index) {
$scope.upload[index] = Upload.upload({
url: '/',
method: 'POST',
file: $file,
}).progress(function (evt) {
$scope.files[index].progress = Math.min(100, parseInt(100.0 * evt.loaded / evt.total));
}).then(function (response) {
$timeout(function () {
$file.result = response.data;
我努力了var newName = $file.name + '-' + Date.now()
但后来我不确定如何申请Upload.rename(file, newName)
我想如果我在 multer 掌握它之前设置新名称,那么上传文件夹和数据库将具有相同的名称。至少是这样的想法。任何人都可以帮忙吗?