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

前端之家收集整理的这篇文章主要介绍了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");

猜你在找的JavaScript相关文章