如何使用JavaScript动态上传多部分表单数据
我试图使用JavaScript将一个文件上传到服务器,并在单击按钮的同时动态生成一个表单和一个输入文件 但在这里,上传文件并没有附加到脚本内的表单标记,所以上传功能无法工作 我在html文件中的代码如下所示如何使用JavaScript动态上传多部分表单数据,javascript,multipartform-data,Javascript,Multipartform Data,我试图使用JavaScript将一个文件上传到服务器,并在单击按钮的同时动态生成一个表单和一个输入文件 但在这里,上传文件并没有附加到脚本内的表单标记,所以上传功能无法工作 我在html文件中的代码如下所示 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <met
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>File Upload</title>
</head>
<body>
<div id="formActive">
<button onclick="imageContent();">click</button>
</div>
<script>
function imageContent(){
var imgContent = "file";
var fileContent = document.createElement('input');
fileContent.name = 'file';
fileContent.type = 'hidden';
var lastImageFile = "imageName";
var boundary=Math.random().toString().substr(2);
multipart = "--" + boundary
+ "\r\nContent-Disposition: form-data; name=" + lastImageFile
+ "\r\nContent-type: application/octet-stream"
+ "\r\n\r\n" + imgContent + "\r\n";
multipart += "--"+boundary+"--\r\n";
fileContent.value = imgContent;
var form = document.createElement('form');
form.method = "POST";
form.action = "mydomain.com/upload";
form.enctype = "multipart/form-data";
form.appendChild(fileContent);
document.getElementById("formActive").appendChild(form);
form.submit();
}
</script>
</body>
</html>
文件上传
点击
函数imageContent(){
var imgContent=“文件”;
var fileContent=document.createElement('input');
fileContent.name='file';
fileContent.type='hidden';
var lastImageFile=“imageName”;
var boundary=Math.random().toString().substr(2);
多部分=“--”+边界
+“\r\n内容处理:表单数据;名称=“+lastImageFile”
+“\r\n内容类型:应用程序/八位字节流”
+“\r\n\r\n”+imgContent+“\r\n”;
多部分+=“-”+边界+“-\r\n”;
fileContent.value=imgContent;
var form=document.createElement('form');
form.method=“POST”;
form.action=“mydomain.com/upload”;
form.enctype=“多部分/表单数据”;
form.appendChild(fileContent);
文件.getElementById(“formActive”).appendChild(表格);
表单提交();
}
在查看上载servlet时,我没有在请求中获得任何文件名
有人能帮我解决这个问题吗?请看:我正在寻找动态添加该值的方法。答案可以在这里找到: