my html code:
<input type="file" id="myFile" name="files[]">
ajax code:
var file = document.getElementById('myFile').files[0].name;
var poststr = 'file='+ escape(file)+'&key='+ escape('project_creation');
makePOSTRequest('controller', poststr,'bdy');
Controller:
if (param.equals("project_creation")) {
param="project_creation";
int proj_id = hlp.createProject(req,emp_id);
}
在通过请求检索时,我只获取文件名。我需要将文件保存在本地路径中。
任何帮助将不胜感激。提前谢谢。
答案 0 :(得分:1)
您的代码仅用于读取文件名,如果要保存文件,因此您必须在ajax调用中发送文件内容,并通过服务器编码保存,请检查以下有助于读取文件内容的代码,
var myFunction = function(){
var input = document.getElementById('myFile');
var reader = new FileReader();
reader.onload = function(){
var dataURL = reader.result;
console.log(input.files[0]); //Files property, size, name, type
console.log(dataURL); //File content in base64
var fileName = input.files[0].name; //File Name
var poststr = 'file='+ escape(dataURL)+'filename='+ escape(fileName)+'&key='+ escape('project_creation'); //Prepare URL params
makePOSTRequest('controller', poststr,'bdy');
};
reader.readAsDataURL(input.files[0]);
}
我在javascript中遇到了与文件读取相同的问题,这段代码对我有用。 我在javascript中遇到了与文件读取相同的问题,这段代码也适用于我。
答案 1 :(得分:0)
你使用过表格吗?所以不要忘记将属性enctype="multipart/form-data"
添加到表单元素中。