ajax通过formdata对象上传图片

18-04-05 01:36 字数 511 阅读 3249 已编辑

因为十七度的编辑器默认上传图片时前台js直接转成base64,没有给后台交互数据,这样虽然很方便但是图片base64的字编码非常长,看起来不是那么舒服,而且太长的话可能会造成浏览器的卡顿,影响发帖体验。所以考虑把数据发送到后台,后台处理后返回一个图片地址给前台。

通过日志查看编辑器在上传的时候可以给我传递这样一个blob对象。

blob.png

通过下面的可以把文件提交到后台

var formData = new FormData();
formData.append("file", blob);
var imgSrc = '';
$.ajax({
    url: '/upload',
    type: 'post',
    cache: false,
    processData: false,
    contentType: false,
    data: formData,
    dataType: 'json',
    async: false,
    success: function (resp) {
        console.log(resp);
        if (resp.status === 1) {
            imgSrc = resp.result;
        } else {
            alert(resp.message);
        }
    }
});
return imgSrc;

后台直接通过$_FILES接即可。

1人点赞>
关注 收藏 改进 举报
0 条评论
排序方式 时间 投票
快来抢占一楼吧
请登录后发表评论
站长 @ 十七度
文章
384
粉丝
23
喜欢
195
收藏
31
排名 : 1
访问 : 147.28万
私信