js图片压缩上传问题

天堂白 2016-10-22 09:19:11
图片压缩后转base64,转blob,后加入到form-data,ajax提交服务器不成功,但是正常form的action提交是可以的
插件压缩的

为什么呀
(function () {
var coverImage = document.querySelector('#coverImage');
//图片压缩
coverImage.onchange = function () {
lrz(this.files[0], {width: 640}, function (results) {

// 你需要的数据都在这里,可以以字符串的形式传送base64给服务端转存为图片。
var base64 = results.base64;
function base64UrlToBlob(base64){
var bytes=window.atob(base64.split(',')[1]); //去掉url的头,并转换为byte
//处理异常,将ascii码小于0的转换为大于0
var ab = new ArrayBuffer(bytes.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < bytes.length; i++) {
ia[i] = bytes.charCodeAt(i);
}
return new Blob( [ab] , {type : 'image/jpg'}); //return Blob对象
}
var formData = new FormData($("#toPic")[1]);
var blob = base64UrlToBlob(base64);
console.log(blob);
formData.append("coverImage",blob);
$.ajax({
url: "xxx",
type: "POST",
data: formData,
dataType: "json",
contentType:false,
processData: false,
success: function (json) {
console.log(json);
},
});
setTimeout(function () {
demo_report('预压的图片', base64, base64.length * 0.5);
}, 100);

});
};
})();这是错误headers
...全文
239 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
KK3K2005 2016-10-23
  • 打赏
  • 举报
回复
为什么要转bob呢 为什么要用form呢 让后台去转 用json格式提交 //js代码 var base64 = results.base64; var basestring = encodeURIComponent(base64); var data = { imgbase64: basestring }; jQuery.ajax( { url : url, data : data, type : "POST", // 期待的返回值类型 dataType: "json", complete : function(xhr,result) { //。。。。。这个已经正确返回了 后台过滤 base64的前缀 和转换
天堂白 2016-10-23
  • 打赏
  • 举报
回复
纯新人 帮帮忙 现在自己又弄了半天,可以请求了,但是图片压缩后提交的时候不是改压缩图片,还是原图,真是好多东西都不懂 逻辑思维也比较混乱
天堂白 2016-10-23
  • 打赏
  • 举报
回复
<form action="" method="post" id="toPic" enctype="multipart/form-data"> <ul> <li> <p class="required" style="font-size: 22px">上传封面图片(图片尺寸在640*480之内最佳,图片不得大于200KB)</p> <input name="coverImage" type="file" class=" required" id="coverImage"> </li> <li id="imgC" style="width:300px;"></li> <li> <input type="submit" id="upload" class="btn" name="upload" value="保存"/> </li> </ul> </form>
一陀牛屎 2016-10-22
  • 打赏
  • 举报
回复
html代码呢

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧