Я создаю музыкальное c веб-приложение для покупки / продажи / обмена снаряжения для класса. Я новичок в программировании и все еще изучаю веревки. Я дал пользователям возможность публиковать миниатюры с другими данными об элементах, которые затем публикуются в качестве элементов для продажи на первой странице. Я использую ng-file-upload для достижения этой цели. Но я заметил, что когда мне нужно «поставить» редактировать пост, чтобы изменить данные, и я меняю его миниатюру изображения, изображение проходит, но когда я go редактирую совершенно другой пост, в загрузчике файлов все еще есть изображение из последний положить в него. Я хочу иметь возможность сбросить модель загрузчика файлов на пустую, чтобы ее можно было использовать снова.
Я попытался установить $scope.itemView.thumbnail
на null
, {}
, []
и ""
, но безрезультатно.
вот мой html
<tr>
<td><label for="thumbnail">Change thumbnail image: </label><br>
<input type="file" id="file" ngf-select="" name="file"
ng-model="picFile" ngf-accept="'image/*'" required /> <br>
<img ngf-src="picFile" class="img-thumbnail">
</tr>
вот мой JS
$scope.updateImage = function() {
var file = document.getElementById('file').files[0];
var fileReader = new FileReader();
fileReader.onload = function(e) {
var data = fileReader.result;
if (data !== undefined && data.length > 0) {
$scope.itemToView.thumbnail = data.split(',')[1];
} else {
$scope.itemToView.thumbnail = '';
}
$scope.putItem();
console.log("made it here");
$scope.picFile = "";
}
fileReader.readAsDataURL(file);
}
$scope.putItem = function() {
$scope.jsonObject = angular.toJson($scope.itemToView, false);
console.log('updated item: ' + $scope.jsonObject);
$http.put("/MusicApp/API/item", $scope.jsonObject)
.then(function success(response) {
$scope.isPutDisabled = true;
console.log('status: ' + response.status);
$scope.updateStatus = 'Item Updated.';
},
function error(response) {
console.log('error, return status: ' + response.status);
$scope.updateStatus = 'update error, '
+ response.data.message;
});
}
})