JS画像圧縮、元の圧縮比をアップロード

VARもしfileobj = File.File;私はアセンブリ内VUE-vantを使用//元の文書ファイル、ファイル(オリジナルファイル)と内容(BASE64)自分のBaiduの上の他の文言の内側に、あなたはすべての原稿を得ることができ
 たIF(もしfileobj fileObj.size fileObj.size && &&> * 1024 1024 ){//か1メガバイトよりも大きい判断
   CAL = 1024×1024 / fileObj.sizeをさせ; //比を計算し、0.5の比は次のように独自に定義することができ
  LETリーダー= 新しい新しい(FileReaderの); 
   reader.readAsDataURL(もしfileobj); 
   reader.onload = 機能(E){ 
       letのイメージ = 新しい新しい画像(); // imgタグを作成します(埋め込まれていないDOMノードのみ行うキャンバスの操作)
       のimage.src = file.content ;私は、アセンブリ内vant //ファイル、良いターンbase64形式のコンテンツがある
       image.onload = 機能を {)(     //画像はキャンバスピクチャ、又は画像によって圧縮が圧縮上のロードが完了していない前に、得られた画像は、すべて黒の負荷 
           LETキャンバス=のdocument.createElement(「キャンバス」)、// キャンバス要素の作成 
           「コンテキスト= canvas.getContextを( 2D「)、     // ブラシに対応するコンテキストは、グラフィックスAPIの種々存在することができ 
           imageWidth = image.width * CAL、     // 圧縮画像幅 
           imageHeight = image.height * CAL、     // 圧縮像高 
           = dataImg「」     // 私は削除する圧縮後に保存された写真が、私は、ページの報告書は警告し、私がダウンして見て、圧縮作用に影響を与えません 
           canvas.width = imageWidth     // 幅が描画設定 
           canvas.height = imageHeight     /を/ 高描画設定
           // のdrawImageを使用して圧縮を達成するために、画像サイズIMGタグをリセットします。メソッドのパラメータは、自己のdrawImage今W3Cかもしれ
           context.drawImage(イメージ、0、0 、imageWidth、imageHeightは)
            // toDataURLを使用Base64形式としてキャンバス上に画像を変換 
           もしfileobj = canvas.toDataURL( '画像/ JPEG' 
           に変換さにconsole.log(fileobjを、」 base64でフォーマット、またアップロード、AJAX可能なアップロード要求'); 
       } 
    } 
} 
ましょうFORMDATA新しい新formata =();
formData.append('ファイル」、fileobjのは)//それに対応するパラメータ名の書き込み
AJAXのための//要求をアップロード
アヤックス...............

 

おすすめ

転載: www.cnblogs.com/helloearth/p/11797940.html