如何使用JavaScript

时间:2017-02-01 09:27:01

标签: 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>
<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>

在查看上传servlet时,我没有在请求中获取任何文件名。

任何人都可以帮我解决错误吗?

0 个答案:

没有答案