在HTML和Javascript中动态上载图像

在HTML和Javascript中动态上载图像,javascript,html,image,file,upload,Javascript,Html,Image,File,Upload,如何使用HTML和Javascript上传多个单独的图像?我的代码就是基于此,但我想有一个选项来创建多个上传按钮,每个上传按钮应该上传一个独立于其他按钮的单独图像。 这是我的密码: <!DOCTYPE html> 函数加法器(){ var browse=document.createElement(“输入”); browse.setAttribute(“类型”、“文件”); picture=document.createElement(“img”); picture.sr

如何使用HTML和Javascript上传多个单独的图像?我的代码就是基于此,但我想有一个选项来创建多个上传按钮,每个上传按钮应该上传一个独立于其他按钮的单独图像。 这是我的密码:

<!DOCTYPE html>


函数加法器(){
var browse=document.createElement(“输入”);
browse.setAttribute(“类型”、“文件”);
picture=document.createElement(“img”);
picture.src=“”;
picture.setAttribute(“alt”,“未选择图像”);
picture.setAttribute(“高度”、“100”);
setAttribute(“onchange”、“previewFile(图片)”);
document.body.appendChild(浏览);
document.body.appendChild(图片);
}
函数预览文件(inPic){
var preview=document.querySelector('img');
var file=document.querySelector('input[type=file]')。files[0];
var reader=new FileReader();
reader.onloadend=函数(){
preview.src=reader.result;
}
如果(文件){
reader.readAsDataURL(文件);
}否则{
preview.src=“”;
}
}


无需使用文件读取器

如果你不需要支持古老的浏览器,可以使用

此处的代码片段:

var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); // number 123456 is immediately converted to string "123456"

// HTML file input user's choice...
formData.append("userfile", fileInputElement.files[0]);

// JavaScript file-like object...
var content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file...
var blob = new Blob([content], { type: "text/xml"});

formData.append("webmasterfile", blob);

var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);
var formData=new formData();
formData.append(“用户名”、“Groucho”);
formData.append(“accountnum”,123456);//数字123456立即转换为字符串“123456”
//HTML文件输入用户的选择。。。
formData.append(“userfile”,fileInputElement.files[0]);
//JavaScript类文件对象。。。
var content='hey!';//新文件的正文。。。
var blob=新blob([content],{type:“text/xml”});
append(“webmasterfile”,blob);
var request=new XMLHttpRequest();
请求打开(“POST”http://foo.com/submitform.php");
请求。发送(formData);

此代码的具体问题是什么?我认为这与querySelector部分有关。基本上,当我使用第一个上传按钮时,它会上传并显示图像。当我使用任何其他按钮上载时,文件会上载,但不会显示任何图像。为了便于视觉参考:
var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); // number 123456 is immediately converted to string "123456"

// HTML file input user's choice...
formData.append("userfile", fileInputElement.files[0]);

// JavaScript file-like object...
var content = '<a id="a"><b id="b">hey!</b></a>'; // the body of the new file...
var blob = new Blob([content], { type: "text/xml"});

formData.append("webmasterfile", blob);

var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);