单文件文件上传到服务器(HTML5+js+Java)
上传单文件到服务器
应公司要求,在HTML5页面上实现上传文件到服务器,对于一个还没毕业的实习生菜鸟来说,这可不得了-----不会,网上各种百度,找各种博客还是没解决,最后还是请教了公司的大神,人家给卸了一个例子,然后根据人家写的终于把这个上传文件搞定。
好了,开始上代码。
HTML5代码:
<form name="upform" action="" method="POST">
<input type ="file" name="myfile1" id="myfile1"/><br/>
<input type ="file" name="myfile2" id="myfile2"/><br/>
备注:<input type="text" name="mydata" id="mydata"/><br/>
<input type="button" value="确定" onclick="upload()"/><br/>
</form>
js代码:
FormData可以把它理解成一个虚拟的表单对象,它只有一个方法append,我们可以通过append向FormData里面添加各种需要提交的数据。
url:/adata/adata/payment/PaymentAction/upload.menu----指的是你Java接受信息的action路径
_pathName=/adata//payment.jsp-----------指的是你HTML5页面的虚拟路径。
alert(result);-------指的是从Java后台返回的信息。
function upload() {
mydata = document.getElementById("mydata").files[0];
formData = new FormData();
formData.append("mydata", mydata);
$.ajax({
contentType:"multipart/form-data",
url:"/adata/adata/payment/PaymentAction/upload.menu?_pathName=/adata//payment.jsp",
type:"POST",
data:formData,
dataType:"text",
processData: false, // 告诉jQuery不要去处理发送的数据
contentType: false, // 告诉jQuery不要去设置Content-Type请求头
success: function(result){
alert(result);
}
});
}
Java代码:
String savePath = "d:/";//存储路径
String retMsg = "";//定义将返回给客户端的信息
try {
if (ServletFileUpload.isMultipartContent(request)) {
List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {// 过滤掉表单中非文件域
String fileType = item.getName().substring(item.getName().lastIndexOf(".") + 1).toLowerCase();//文件类型
String fileName = new Date().getTime() + "." + fileType; //保存的文件名
String filePath = savePath + "\\" + fileName; //保存的文件路径 BufferedInputStream in = new BufferedInputStream(item.getInputStream());// 获得文件输入流
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(filePath)));// 获得文件输出流
org.apache.commons.fileupload.util.Streams.copy(in, out, true);// 开始把文件写到指定的上传文件夹
retMsg += "上传文件成功!";
in.close();
out.close();
}
}
}
response.setContentType("text/html;charset=utf8");
PrintWriter pw = response.getWriter();
pw.print(retMsg);
pw.flush();
pw.close();
//根据自己需要返回页面一个 retMsg
// return retMsg 证明上传成功
} catch (Exception e) {
e.printStackTrace();
}
单文件文件上传到服务器(HTML5+js+Java)的更多相关文章
- 打包vue文件,上传到服务器
主要步骤: 1. npm run build生成dist文件夹 2. 将dist文件夹上传到服务器上 3. 服务器上配置nginx,访问路径指向dist文件夹下的index.html,这样当访问ngi ...
- HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)
说明:使用Ajax方式上传,文件不能过大,最好小于三四百兆,因为过多的连续Ajax请求会使后台崩溃,获取InputStream中数据会为空,尤其在Google浏览器测试过程中. 1.简单分段读取文件为 ...
- HTML5 文件域+FileReader 读取文件并上传到服务器(三)
一.读取文件为blob并上传到服务器 HTML <div class="container"> <!--读取要上传的文件--> <input type ...
- web操作文件的上传到服务器 并可下载 并且读取出来
1.文件的上传-servlet实现文件上传---核心API—DiskFileItemFactory 一.文件上传概述 l 实现web开发中的文件上传功能,需完成如下二步操作: • 在web页面 ...
- jquery文件批量上传控件Uploadify3.2(java springMVC)
人比較懒 有用为主 不怎么排版了 先放上Uploadify的官网链接:http://www.uploadify.com/ -->里面能够看到PHP的演示样例,属性说明,以及控件下载地址.分f ...
- Android使用OKHttp库实现视频文件的上传到服务器
目录 1 服务器接口简介 2 Android端代码实现 2.1 xml布局文件 2.2 Activity类 2.3 Okhttp网络通信类 1 服务器接口简介 此处我使用的服务器接口是使用Flask编 ...
- linux下,如何把整个文件夹上传到服务器(另一台linux)
1.Linux下目录复制:本机->远程服务器 scp -r /home/shaoxiaohu/test1 zhidao@192.168.0.1:/home/test2 #test1为源目录, ...
- 【转】linux下,如何把整个文件夹上传到服务器(另一台linux)
原文转自:https://zhidao.baidu.com/question/1046040541327493019.html 1.Linux下目录复制:本机->远程服务器 scp -r /h ...
- Html5 突破微信限制实现大文件分割上传
先来前端代码 <!DOCTYPE html> <html> <head> <meta name="viewport" content=&q ...
- 文件上传的三种模式-Java
文件上传的三种方式-Java 前言:因自己负责的项目(jetty内嵌启动的SpringMvc)中需要实现文件上传,而自己对java文件上传这一块未接触过,且对 Http 协议较模糊,故这次采用渐进的方 ...
随机推荐
- 深入理解javascript异步编程障眼法&&h5 web worker实现多线程
0.从一道题说起 var t = true; setTimeout(function(){ t = false; }, 1000); while(t){ } alert('end'); 1 2 3 4 ...
- Python-WXPY实现微信监控报警
概述: 本文主要分享一下博主在学习wxpy 的过程中开发的一个小程序.博主在最近有一个监控报警的需求需要完成,然后刚好在学习wxpy 这个东西,因此很巧妙的将工作和学习联系在一起. 博文中主要使用到的 ...
- pc端的企业网站(IT修真院test8)详解1-2
今天接着说test8的页面还原. 头部header和尾部footer 我一开始是想直接使用bootstrap的栅格系统来实现的.但是内容的定位出了不少麻烦. 那么就索性用原生html+css来还原页面 ...
- Extjs4+PHP MVC模式一(入门)
Extjs是一个js框架,可以实现大部分web页面的东西,个人理解是一款集html.css.js一体的框架,功能挺强大的.结合PHP和sql可以实现整个系统.现在来说说怎么用它.(我的项目是用的TP框 ...
- 浅谈Nginx负载均衡原理与实现
1.Nginx能做什么? Nginx可以两件事: -- HTTP请求 经过官方测试Nginx可以承受5万的并发量.可用来做静态资源的图片服务器 --负载均衡,如下解释什么是负载均衡. 2.负载均衡 ...
- (转)Spring中Singleton模式的线程安全
不知道哪里的文章,总结性还是比较好的.但是代码凌乱,有的还没有图.如果找到原文了可以进行替换! spring中的单例 spring中管理的bean实例默认情况下是单例的[sigleton类型],就还有 ...
- TWS日志查看
背景:记录下tws的日志查看过程,备忘 1 日志查看过程 根据企业的流水号,在日志中查询企业发送的报文: ps:期间最好将日志所在的行号进行记录,方便定位. 2017032802_2017070700 ...
- (转)Java线程:新特征-原子量,障碍器
Java线程:新特征-原子量 所谓的原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的. 为何要使用原子变量呢,原因是多个线程对单个变量操作也会引起一些问题.在Java5之前 ...
- hadoop入门,跑出第一个WordCount
1.环境准备 下载:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz 解压:解压后,修改et ...
- Ajax 基本使用的四大步骤,简单易懂
ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页.接下来通过本文给大家介绍Ajax的使用四大步骤,非常不错,感兴趣的朋友看下吧 什么是ajax? ajax(异步 ...