Java文件上传(基础性)
/**
*
* 上传文件
*
*/
public class FileUploadServlet2 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
// 1.创建磁盘文件项工厂----这里的temp为临时文件目录
String path_temp = this.getServletContext().getRealPath("temp");
DiskFileItemFactory factory = new DiskFileItemFactory(1024 * 1024, new File(path_temp));
// 2.创建文件上传的核心类
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置上传文件名的编码----以防文件名乱码
upload.setHeaderEncoding("utf-8");
// ServletFileUpload的API
boolean multipartContent = upload.isMultipartContent(request);// 判断表单是否是文件上传的表单
if (multipartContent) {
// 是文件上传的表单
// **解析request获得文件项集合
List<FileItem> parseRequest = upload.parseRequest(request);
if (parseRequest!=null) {
for (FileItem item : parseRequest) {
//判断是不是一个普通表单项
boolean formField = item.isFormField();
if (formField) {
//普通表单项
String fieldName = item.getFieldName();
String fieldValue = item.getString("UTF-8");//对普通表单项的内容编码
} else {
//获取文件名
String fileName = item.getName();
//得到输入流
InputStream in = item.getInputStream();
//获取文件存放路径
String path = this.getServletContext().getRealPath("upload");
//将文件存入相应目录
OutputStream out = new FileOutputStream(path+"/"+fileName);
IOUtils.copy(in, out);
in.close();
out.close();
//最后删除temp目录下的临时文件、
item.delete();
}
}
}
} else {
// 非文件上传表单,用原始获取方式request.getParameter("表单name");
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
Java文件上传(基础性)的更多相关文章
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- 2013第38周日Java文件上传下载收集思考
2013第38周日Java文件上传&下载收集思考 感觉文件上传及下载操作很常用,之前简单搜集过一些东西,没有及时学习总结,现在基本没啥印象了,今天就再次学习下,记录下自己目前知识背景下对该类问 ...
- java文件上传-原始的Servlet方式
前言: 干了这几个项目,也做过几次文件上传下载,要么是copy项目以前的代码,要么是百度的,虽然做出来了,但学习一下原理弄透彻还是很有必要的.刚出去转了一圈看周围有没有租房的,在北京出去找房子是心里感 ...
- JAVA文件上传 ServletFileUpLoad 实例
1. jsp <%@ page language="java" contentType="text/html" pageEncoding="u ...
- java文件上传工具包
java 文件上传工具包 主要有两个方法:单文件上传和多文件上传 @Slf4j public class UploadFileUtil { //上传单张图片 public String uploadP ...
- java 文件上传
java 上传文件 如果不依赖框架的话 要利用 Apache 中几个jar文件来处理 1. 给表单设置enctype属性,其值为 "multipart/form-data" ...
- java文件上传和下载
简介 文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...
- java文件上传下载
文件上传首先要引入两个核心包 commons-fileupload-1.2.1.jar commons-io-1.4.jar 下面是对文件上传和下载的一些代码做的一个简单封装,可以方便以后直接使用[使 ...
- java文件上传路径缺少\的解决办法
今天做一个文件上传,取路径,然后读取文件的时候,发现存储到MySQL的路径是这样的:
随机推荐
- Node 即学即用 笔记 思维导图
Node即学即用 REPL(Read-Evaluate-Print-Loop) console.log .clear .help .exit require('http') ...
- POJ之01背包系列
poj3624 Charm Bracelet 模板题 没有要求填满,所以初始化为0就行 #include<cstdio> #include<iostream> using na ...
- C从控制台(stdin)输入带空格的字符串到字符数组中
用scanf("%s",array); 的话遇到空格就停止接收后面的字符了,那怎么才能接收带空格的字符串呢? 1.用 gets() ,它可以接收带空格的字符串, 直到回车才结束输入 ...
- Override is not allowed when implementing interface method Bytecode Version Overriding and Hiding Methods
java - @Override is not allowed when implementing interface method - Stack Overflow https://stackove ...
- 高负载linux调优
调整Linux内核参数: # vi /etc/sysctl.conf# tells the Kernel it's ok if services bind to non-existant IP ADD ...
- YTU 2928: 取不重复的子串。
2928: 取不重复的子串. 时间限制: 1 Sec 内存限制: 128 MB 提交: 5 解决: 5 题目描述 输入字母构成的字符串(不大于30字符)从中读取3个不重复的字符,求所有取法,取出的 ...
- CentOS 7下Keepalived + HAProxy 搭建配置详解
第一步:准备 1. 简介 本文搭建的是利用 Keepalived 实现 HAProxy 的热备方案,即两台主机上的 HAProxy 实例同时运行,其中全总较高的实例为 MASTER,MASTER出现异 ...
- [开源下载] 【开源项目】EasySL for Silverlight 4
[开源下载] [开源项目]EasySL for Silverlight 4 [复制链接] silverlight 452 主题 7 好友 1万 积分 管理员 贡献 879 原创 0 银元 ...
- mac系统下安装mysql步骤
1.下载mysql-5.7.13-osx10.11-x86_64.dmg安装包,并点击dmg安装包进行安装 2.安装完成后弹出如以下提示信息: 2016-06-23T01:14:48.649253Z ...
- codeforces 689E E. Mike and Geometry Problem(组合数学)
题目链接: E. Mike and Geometry Problem time limit per test 3 seconds memory limit per test 256 megabytes ...