关于Ajax通过纯javascript上传图像
About Ajax Upload image by pure javascript
我想使用FormData Object来打包图像并通过Ajax发送它。但是我得到的是:
java.io.IOException:org.apache.tomcat.util.http.fileupload.FileUploadException:请求被拒绝,因为没有找到多部分边界
我的代码:
function getId(arg) {
return document.getElementById(arg);
}
function doFirst(){
showPanel = getId("showPanel");
sendbtn = getId("sendbtn");
mfile = getId("mFile");
mfile.addEventListener('change',showUp,false);
}
function showUp(){
var fReader = new FileReader();
fReader.readAsDataURL(mfile.files[0]);
fReader.onload = function (e){
mImg = document.createElement("img");
mImg.src=e.target.result;
mImg.id ="mImg";
showPanel.removeChild(showPanel.firstChild);
showPanel.appendChild(mImg);
showPanel.replaceChild(showPanel.firstChild,showPanel.lastChild);
//first time what i wrote is using apprnd();
//var fd = new FormData();
//fd.append("myFile",mfile.files[0]);
//second time i through input all form to create a FormData object
fd = new FormData(getIds("picForm"));
xhr = new XMLHttpRequest();
/*this section just for test
xhr.onreadystatechange = function (){
console.log("readyState"+xhr.readyState);
console.log("status"+xhr.status);
}*/
xhr.open("post","AddMemberPic");
//xhr.setRequestHeader("Content-Type","multipart/form-data");
xhr.send(fd);
}
}
window.onload = doFirst;
<div id="showPanel">upload picture</div>
<form action = "AddMemberPic" method = "post" id="picForm" enctype="multipart/form-data">
<input type="file" name="mFile" id="mFile">
</form>
我的代码有什么问题?,为什么?
谢谢你的回答
上传文件时,必须在输入为change
d时存储文件。下面是本教程的一小段代码:
// Variable to store your files
var files;
// Add events
$('input[type=file]').on('change', prepareUpload);
// Grab the files and set them to our variable
function prepareUpload(event)
{
files = event.target.files;
}
它使用jQuery,但可以很容易地转移到普通JavaScript。
相关文章:
- 更改下拉菜单上的图像javascript/jquery
- Chrome:刷新页面后未呈现的背景图像 + JavaScript 重定向
- 更改背景图像 - JavaScript
- 目标 css:背景图像 Javascript
- 如何显示数组中的图像?JavaScript
- 淡入淡出两个图像[JavaScript]
- 获取图像ID并更改图像JavaScript
- 显示多个图像-javascript
- 在不损失质量的情况下调整图像JavaScript/jQuery的大小
- 选择某个列表项时弹出的图像-javascript
- 将生成的随机数存储在变量中,然后将该变量作为文件名调用以显示图像.Javascript
- 更改悬停时的图像Javascript
- 在reactjs中呈现本地图像/javascript片段
- 键下时的反向图像 - Javascript
- 将所有图像替换为一个图像 Javascript
- 单击显示随机图像(Javascript)
- 移动图像 ..JavaScript 将变量声明为字符串
- 直方图均衡(图像Javascript初学者)
- 预加载库图像.JavaScript(没有JQuery)
- 用不同的图像/按钮替换图像 - javascript