20170914 nwjs实现模拟图片上传

时间:2022-08-11 19:16:57

模拟图片上传,就是非人为操作地进行图片上传,比如某网站需要上传头像,这时候能够自动在你某盘中读取文件并丢到那个input[type=file]的dom里面,然后触发上传。

    // 搞到input的dom对象
var input = $("#fileupload")[0];

// 读取文件
fs.readFile("./a.png", function (err, data)
{

if (err) {
throw err;
}
console.log(data.length);

// 读取的文字二进制数据已经在data里面了
// 现在要创建一个File对象
var myFile = new File([data], "a.png",
{
type: "image/png",
lastModified: new Date()
}
);
console.log(myFile);

// 把新的file对象丢到input的dom中的files里面
input.files.append(myFile);

// 模拟input的change事件,使其触发更新头像等一系列操作
var event = document.createEvent("events");
event.initEvent("change", true, true, document.defaultView, 0, 0, 0, 0, 0, false, false, false, 0, null);
input.dispatchEvent(event);
})