私のAngularアプリケーションでは、画像機能をブラウズしてアップロードしています。サイズが500KBを超えるWindows7(Chrysanthemum.jpg、Desert.jpgなど)によって提供されるサンプル画像。私は170KB(クライアント要件)として最大サイズの画像を格納する必要があります。それで、あまりにも多くの画質に影響を与えずにデータベースにアップロードしながら画像のサイズを縮小する方法)また、170KBを超えるサイズの画像を選択するユーザーには検証を許可したくありません。私は画像をBase64に変換し、SQL ServerのImageデータ型として保存しています。AngularJs - データベースに保存中に画像サイズを縮小する
私のHTMLコード:
<input id="BrowseFile" type="file" ngf-select ng-model="vm.picFile" name="file" ngf-change="vm.uploadPic(vm.picFile)" accept="image/*" required >
マイコントローラーコード:
this.uploadPic = function (picFile) {
if (picFile == null)
console.log("Please select image");
else {
vm.fileName = picFile.name;
picFile.upload = Upload.base64DataUrl(picFile).then(function (imgBase64) {
vm.image = imgBase64; // Storing Uploaded photo string for storing in database.
});
}
}
任意の提案が高く評価されます。
注:私は NG-ファイルアップロード画像閲覧&アップロード機能の ディレクティブを使用していました。
UPDATE 1:
私は今、画像を圧縮するために私の既存のコードでこれに取り組んこのGitHubのリンク https://github.com/oukan/angular-image-compress上の角度の画像圧縮ディレクティブを得ました。