无法使用 Angular.js ng-file-upload 替换文件名
Cannot replace the file name using Angular.js ng-file-upload
我正在尝试使用 Angular.js ng-file-upload
上传文件后重命名文件名。但是当我删除 ngf-min-height="400" ngf-resize="{width: 400, height:400}"
属性时,我的情况发生了什么。我在下面提供我的代码:
<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" ngf-min-height="400" ngf-resize="{width: 400, height:400}" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" >
我的控制器端代码如下:
$scope.onFileSelect = function($files) {
fileURL=$files;
$scope.imageData='';
}
var file=fileURL;
var today=(Math.random() * new Date().getTime()).toString(36).replace(/\./g, '');
var newpath=today+"_"+ file.name;
file.name=newpath;
在上面的代码中,我在文件名中添加了一个随机数并替换了它。在这种情况下,它正常运行,但是如果我像下面这样从文件输入中删除 ngf-min-height="400" ngf-resize="{width: 400, height:400}"
。
<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" >
在这种情况下,我无法替换新文件名,也不需要限制文件height and width
。
试试这个代码
<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" accept="image/*" ng-file-select="onFileSelect($files[0]);" >
$scope.onFileSelect =function(file){
filename = 'jihin.' + file.name.split(".")[1];
var imgFile = new File([file], filename, {type:file.type});
console.log(imgFile);
};
ng-file-upload 的上传服务有这个方法。
这是一个例子:
$scope.$watch('dropFile', function () {
uploadFile($scope.dropFile);
});
function uploadFile(file) {
if (!file) {
return;
}
file = Upload.rename(file, "newName.ext");
Upload.upload({
url: <api url for upload>,
data: {file: file}
}).then(function (resp) {
//successful
}, function (resp) {
//error
}, function (evt) {
//progress
});
}
我正在尝试使用 Angular.js ng-file-upload
上传文件后重命名文件名。但是当我删除 ngf-min-height="400" ngf-resize="{width: 400, height:400}"
属性时,我的情况发生了什么。我在下面提供我的代码:
<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" ngf-min-height="400" ngf-resize="{width: 400, height:400}" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" >
我的控制器端代码如下:
$scope.onFileSelect = function($files) {
fileURL=$files;
$scope.imageData='';
}
var file=fileURL;
var today=(Math.random() * new Date().getTime()).toString(36).replace(/\./g, '');
var newpath=today+"_"+ file.name;
file.name=newpath;
在上面的代码中,我在文件名中添加了一个随机数并替换了它。在这种情况下,它正常运行,但是如果我像下面这样从文件输入中删除 ngf-min-height="400" ngf-resize="{width: 400, height:400}"
。
<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" ngf-pattern="image/*" accept="image/*" ngf-max-size="2MB" custom-on-change="uploadFile" ngf-select="onFileSelect($file);" >
在这种情况下,我无法替换新文件名,也不需要限制文件height and width
。
试试这个代码
<input type="file" data-size="lg" name="bannerimage" id="imagefile1" ng-model="file" accept="image/*" ng-file-select="onFileSelect($files[0]);" >
$scope.onFileSelect =function(file){
filename = 'jihin.' + file.name.split(".")[1];
var imgFile = new File([file], filename, {type:file.type});
console.log(imgFile);
};
ng-file-upload 的上传服务有这个方法。 这是一个例子:
$scope.$watch('dropFile', function () {
uploadFile($scope.dropFile);
});
function uploadFile(file) {
if (!file) {
return;
}
file = Upload.rename(file, "newName.ext");
Upload.upload({
url: <api url for upload>,
data: {file: file}
}).then(function (resp) {
//successful
}, function (resp) {
//error
}, function (evt) {
//progress
});
}