日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

html提交form预处理,HTML5 之图片上传预处理

發布時間:2023/12/10 HTML 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 html提交form预处理,HTML5 之图片上传预处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在開發 H5 應用的時候碰到一個問題,

應用只需要一張小的縮略圖,

而用戶用手機上傳的確是一張大圖,

手機攝像機拍的圖片好幾 M,這可要浪費很多流量。

獲取圖片

通過 File API 獲取圖片。

var input = document.createElement('input');

input.type = 'file';

input.addEventListener('change', function() {

var file = this.files[0];

},false);

input.click();

預覽圖片

可以使用 createObjectURL() 或者 FileReader 預覽圖片

但是我一般用的createObjectURL()方法比較多

var img = document.createElement('img');

img.src = window.URL.createObjectURL(file);

var img = document.createElement("img");

var reader = new FileReader();

reader.onload = function(e) {

img.src = e.target.result;

}

reader.readAsDataURL(file);

使用 canvas 做縮略圖

var canvas = document.createElement("canvas");

var ctx = canvas.getContext("2d");

var MAX_WIDTH = 800;

var MAX_HEIGHT = 600;

var width = img.width;

var height = img.height;

if (width > height) {

if (width > MAX_WIDTH) {

height *= MAX_WIDTH / width;

width = MAX_WIDTH;

}

} else {

if (height > MAX_HEIGHT) {

width *= MAX_HEIGHT / height;

height = MAX_HEIGHT;

}

}

canvas.width = width;

canvas.height = height;

ctx.drawImage(img, 0, 0, width, height);

上傳縮略圖

使用HTML5的新API formData來實現圖片的ajax上傳

canvas.toBlob(function(blob) {

var form = new FormData();

form.append('file', blob);

fetch('/api/upload', {method: 'POST', body: form});

});

總結

以上是生活随笔為你收集整理的html提交form预处理,HTML5 之图片上传预处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。