multerを使用して複数の画像をMongoDBにアップロードしています。
私のフロントエンド部分は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コード:私は「しようとしたVEの何
$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の下に示されていますあなたのサーバの '/ public/images'に置かれているイメージを探します。 [アップロード前のJavaScriptのプレビュー画像](https://stackoverflow.com/questions/4459379/preview-an-image-before-it-is-uploaded) – masterpreenz