html图片损坏会显示什么,ajax上传图片,偶尔会出现后台保存的图片有错误或者已损坏,请问可能是什么原因造成的?...

该博客探讨了在前端开发中使用html2canvas库截图并转换为base64字符串上传到后台时遇到的问题。作者遇到的错误是图片在打开时显示失败,提示因存在错误而无法显示。代码示例中展示了如何将截图转换为File对象并使用Ajax进行POST请求。博客可能涉及HTML5 canvas、图片处理、文件上传和Ajax交互等相关技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是把固定区域截图后生成图片上传后台,大部分时候都没问题,偶尔会出现图片有错,打开图片的时候报错:因存在错误而无法显示。

代码如下:

function imgUpload(img2,id) {

html2canvas($("#imgArea")[0]).then((canvas) => {

var img1 = canvas.toDataURL();

var data = new FormData();

data.append("ImgFile", dataURLtoFile(img1, "authorize.png"));

data.append("ImgFile2", dataURLtoFile(img2, "authorizeName.png"));

var ajaxRequest = $.ajax({

type: "POST",

url: "/api/authorize/save?id=" + id,

contentType: false,

processData: false,

data: data

});

ajaxRequest.done(function (param) {

});

})

}

function dataURLtoFile(dataurl, filename) {

var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],

bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);

while (n--) {

u8arr[n] = bstr.charCodeAt(n);

}

return new File([u8arr], filename, { type: mime });

};

回答

js里把图片转成base64字符串上传

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值