我上傳多個圖像到MongoDB使用multer。
我的前端部分是使用angular Js
開發的。
我可以將圖像上傳到MongoDB,但現在我想在HTML頁面上預覽圖像,然後將其上傳到數據庫。
HTML代碼:
如何在使用AngularJS發佈到數據庫之前預覽圖像?
<div class="col-md-4">
<div class="input-group">
<input type="file" name="file" id='file' multiple="multiple" required="required" />
</div>
</div>
角JS代碼:
$scope.upload = function() {
//var file = angular.element(document.querySelector('#file')).prop("files")[0];
$scope.files = [];
$scope.uploadedFiles = [];
$scope.selectedFiles = [];
console.log('file length :' + angular.element(document.querySelector('#file')).prop("files").length);
for(var i = 0 ; i < angular.element(document.querySelector('#file')).prop("files").length ; i++){
var file = angular.element(document.querySelector('#file')).prop("files")[i];
console.log('file Name :' + file);
$scope.files.push(file);
}
console.log('Uploaded file :' + $scope.files);
// $scope.files.push(file);
$http({
method: 'POST',
url: '/image/upload',
headers: { 'Content-Type': undefined },
transformRequest: function (data) {
var formData = new FormData();
formData.append('model', angular.toJson(data.model));
for(var i = 0 ; i < data.files.length ; i++){
formData.append('file', data.files[i]);
$scope.uploadedFiles.push(data.files[i]);
}
console.log('Sending File size :' + data.files.length);
//formData.append('file', data.files[0]);
return formData;
},
data: { model: { title: 'hello'}, files: $scope.files }
}).then(function (res) {
console.log(res);
});
}
我已經試過
.then(function (res) {
$scope.selectedFiles = "/public/images/" + res.data.imagePaths[0];
}
<div>
Images :{{selectedFiles}}<img ng-src="{{selectedFiles}}">
</div>
我經過選擇的文件到HTML頁面
,但它沒有顯示圖像。
我該怎麼做,請幫忙。
' 「/公/圖片/」 + res.data.imagePaths [0]'這行不通該圖像位於服務器中的「/ public/images」中。請看看[上傳前的Javascript預覽圖像](https://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded) – masterpreenz