Javascript 通过iFrame上传文件
我们正在创建一个网页,我必须管理文件上传。 我正在使用iframe进行文件上载。但事实上我不知道用这个会发生什么。在服务器端,我们使用Java。 这是我的代码:Javascript 通过iFrame上传文件,javascript,java,jquery,file,iframe,Javascript,Java,Jquery,File,Iframe,我们正在创建一个网页,我必须管理文件上传。 我正在使用iframe进行文件上载。但事实上我不知道用这个会发生什么。在服务器端,我们使用Java。 这是我的代码: $(document).ready(function () { $("#formsubmit").click(function () { var iframe = $('<iframe name="postiframe" id="postiframe"></iframe>');
$(document).ready(function () {
$("#formsubmit").click(function () {
var iframe = $('<iframe name="postiframe" id="postiframe"></iframe>');
$("body").append(iframe);
var form = $('#theuploadform');
form.attr("action", "http://localhost:13000/auth/login");
form.attr("method", "post");
form.attr("encoding", "multipart/form-data");
form.attr("enctype", "multipart/form-data");
form.attr("target", "postiframe");
form.attr("file", $('#userfile').val());
form.submit();
$("#postiframe").load(function () {
var iframeContents = this.contentWindow.document.body.innerHTML;
$("#textarea").html(iframeContents);
});
return false;
});
});
$(文档).ready(函数(){
$(“#表单提交”)。单击(函数(){
变量iframe=$('');
$(“正文”)。附加(iframe);
变量形式=$(“#上传形式”);
表格.attr(“操作”http://localhost:13000/auth/login");
表格attr(“方法”、“职位”);
attr(“编码”、“多部分/表单数据”);
form.attr(“enctype”、“多部分/表单数据”);
表格attr(“目标”、“后框架”);
form.attr(“file”,$('#userfile').val();
表单提交();
$(“#positframe”).load(函数(){
var iframeContents=this.contentWindow.document.body.innerHTML;
$(“#textarea”).html(iframeContents);
});
返回false;
});
});
(我从互联网上复制了代码,但我不懂。)
有人能告诉我当点击提交按钮时会发生什么吗?正在发送什么?文件的字节数是多少?在编写服务器端java处理程序时,我需要理解这一点。
我想我花了太多时间来理解这一点
首先,我认为我们可以通过jQuerysPost方法发送文件,因为它可以用于用户身份验证。但事实并非如此
private List<MultipartFile> file;
String saveDirectory = System.getProperty("catalina.home");
List<MultipartFile> ListaFajlova = File.getFile();
List<String> fileNames = new ArrayList<String>();
if (null != ListaFajlova && ListaFajlova.size() > 0) {
for (MultipartFile multipartFile : ListaFajlova) {
String fileName = multipartFile.getOriginalFilename();
if (!"".equalsIgnoreCase(fileName)) {
multipartFile
.transferTo(new File(saveDirectory + File.separator+fileName));
fileNames.add(fileName);
}
}
}
私有列表文件;
字符串saveDirectory=System.getProperty(“catalina.home”);
List ListaFajlova=File.getFile();
列表文件名=新的ArrayList();
if(null!=ListaFajlova&&ListaFajlova.size()>0){
for(MultipartFile MultipartFile:ListaFajlova){
字符串文件名=multipartFile.getOriginalFilename();
如果(!“”.equalsIgnoreCase(文件名)){
多部分文件
.transferTo(新文件(saveDirectory+File.separator+fileName));
添加(文件名);
}
}
}
通过这种方式,您可以将文件保存在saveDirectory中,并获得保存在db中的文件名列表,以便于访问
希望这有帮助