微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 当我使用html5将数据上传到服务器时,可以在blob数据中设置文件名吗?

我使用event.clipboardData从剪贴板获取图像,然后上传它的服务器,代码
var items = e.clipboardData.items;
for(var i=0;i<items.length;i++)
{
    if(items[i].type.indexOf("image")!=-1)
    {
        var blob=items[i].getAsFile();
        var data = new FormData();
        data.append("ImageFileField",blob);
        _post2("url...",data);
    }
}

注意:_post2()是使用XMLHttpRequest进行上传功能.

以上代码工作正常,剪贴板上的图像可以直接上传到我的服务器.

但是我发现一个问题,图像上传到服务器的文件名被修改为“blob”,可以在上传到服务器之前修改文件名吗?

这是上传数据详细信息:

请求有效载荷

——WebKitFormBoundaryW0NQVOkdrfkYGWV3
Content-disposition: form-data; name=”%%File.48257279001171c9.2c36671da7f1b6c9482575de002e1f14.$Body.0.3D8″; filename=“blob”

Content-Type: image/png

——WebKitFormBoundaryW0NQVOkdrfkYGWV3–

解决方法

根据 FormData,您应该可以在data.append()调用添加一个filename参数,如下所示:
data.append("ImageFileField",blob,"imageFilename.png");

原文地址:https://www.jb51.cc/js/154179.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐