我是新角度,我正在實施ng-file-upload directive。上傳成功後,有人能告訴我如何清除文件輸入嗎?如何用ng-file-upload指令清除輸入文件?
我已經嘗試了一些解決方案在線,並且是唯一一個我已經成功地使它的排序工作是用jQuery:input.replaceWith(input.val('').clone(true));
不過,這似乎只是通過外觀來清除它,我如果我嘗試再次提交,仍然可以上傳所要清除的文件。
如果有人能幫助我,這將是偉大的。
我是新角度,我正在實施ng-file-upload directive。上傳成功後,有人能告訴我如何清除文件輸入嗎?如何用ng-file-upload指令清除輸入文件?
我已經嘗試了一些解決方案在線,並且是唯一一個我已經成功地使它的排序工作是用jQuery:input.replaceWith(input.val('').clone(true));
不過,這似乎只是通過外觀來清除它,我如果我嘗試再次提交,仍然可以上傳所要清除的文件。
如果有人能幫助我,這將是偉大的。
這很簡單,只要做到這一點。
var uploadInstance = $upload.upload({
url: 'resources/upload',
file: $files // for multiple files
})
progress(function (evt) {
//progress
})
.success(function (data) {
//Success upload
})
.error(function (data) {
//Error upload
});
,當你想uploadInstance被重置,只需撥打
uploadInstance.abort();
這是爲我工作,但它不是理想的解決方案:
HTML:
<form name="photosForm" ng-submit="upload(photos.file)">
<input type="file"
name="file"
ngf-select
ng-class="{'invalid': photosForm.file.$invalid}"
ng-model="photos.file"
required/>
<button type="submit" ng-disabled="photosForm.$invalid"></button>
</form>
JS:
$scope.upload = function(file) {
Upload(file).then(function() {
$scope.photos = { file: undefined };
}, function(err) {
$scope.errGallery = err.data.message;
});
}
CSS:
.invalid {
color: red;
border-color: red;
}
現在是什麼這樣做對我來說。它將文件的名稱留在文件輸入中,但它不再是有效的文件,因爲沒有文件,它被設置爲'undefined'。這是好的,因爲提交按鈕將被禁用,並且你不能錯誤地上傳兩次相同的文件,並且'無效的'css類將被應用,因爲需要輸入,但是沒有文件設置,並且它會將我的顏色輸入邊框和文字爲紅色。