Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JavaScript动态上传多部分表单数据_Javascript_Multipartform Data - Fatal编程技术网

如何使用JavaScript动态上传多部分表单数据

如何使用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

我试图使用JavaScript将一个文件上传到服务器,并在单击按钮的同时动态生成一个表单和一个输入文件

但在这里,上传文件并没有附加到脚本内的表单标记,所以上传功能无法工作

我在html文件中的代码如下所示

<!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时,我没有在请求中获得任何文件名


有人能帮我解决这个问题吗?

请看:我正在寻找动态添加该值的方法。答案可以在这里找到: