h5上传多张 照片太大会出现耗时久,或是卡死问题

本文探讨了在H5中使用input[type=file]上传多张照片时,由于图片大小导致的长时间加载和页面卡死现象。通过提供优化方案,包括限制文件大小、压缩图片以及分批次上传等方法,旨在提升用户体验。
摘要由CSDN通过智能技术生成

//html

<input type="file" id="choose" accept="image/*" multiple>

<ul class="img-list"><li><a id="upload"></a></li></ul>


//js

var formdata = getFormData();

var filesData = [],
sendData = [];

//formdata 上传图片
function uploadFile() {
$.ajax({
url: '上传路径',
type: 'POST',
data: formdata,
async: false,
cache: false,
contentType: false,
processData: false,
success: function(returndata) {

},
error: function(returndata) {

}
});

}
$(function() {
var filechooser = document.getElementById("choose");
//    用于压缩图片的canvas
var canvas = document.createElement("canvas");
var ctx = canvas.getContext('2d');
//    瓦片canvas
var tCanvas = document.createElement("canvas");
var tctx = tCanvas.getContext("2d");
var maxsize = 100 * 1024;
$("#upload").on("click", function() {
filechooser.click();
})
.on("touchstart", function() {
$(this).addClass("touch")
})
.on("touchend", function() {
$(this).removeClass("touch")
});
filechooser.onchange = function() {
if (!this.files.length) return;
var files = Array.prototype.slice.call(this.files);
if (files.length > 4 || sendData.length > 4) {
alert("最多同时只可上传4张图片");
return;
}
$(".img-list li").eq(0).siblings().remove()
</
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值