java上传文件
来源:互联网 发布:淘宝购买记录查询器 编辑:程序博客网 时间:2024/05/22 04:57
一、页面简单例子
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="UTF-8"%><%@ page import="javax.imageio.ImageIO" %>
<%@ page import="javax.imageio.IIOException" %>
<%@ page import="java.awt.image.BufferedImage" %>;
<%@ page import="java.awt.Image" %>
<%@ page import="java.io.File" %>
<%@ page import="java.awt.image.AffineTransformOp" %>
<%@ page import="java.awt.geom.AffineTransform" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
try
{ //如果是windows,File fi=new File("c:\\abc\\aaa.jpg");
File fi = new File("/pics/original/111.jpg"); //大图文件
File fo = new File("/pics/thumbnail/222.jpg"); //将要转换出的小图文件
//File fi=new File("F:\\111.jpg");
//File fo = new File("F:\\222.jpg");
int nw = 100;//新的长度
AffineTransform transform = new AffineTransform();
BufferedImage bis = ImageIO.read(fi);
//
int w = bis.getWidth();//原来的长度
int h = bis.getHeight();//原来的高度
double scale = (double)w/h;
int nh = (nw*h)/w ;//新的高度
//
double sx = (double)nw/w;//宽度比例
double sy = (double)nh/h;//高度比例
transform.setToScale(sx,sy);
System.out.println(w + " " +h);
//
AffineTransformOp ato = new AffineTransformOp(transform,null);
BufferedImage bid = new BufferedImage(nw,nh,BufferedImage.TYPE_3BYTE_BGR);
ato.filter(bis,bid);
ImageIO.write(bid,"jpeg",fo);
}
catch(Exception e)
{
out.println(e);
}
%>
</body>
</html>
二、页面加java程序实现上传功能
1、jsp页面
<form action="demo/upload_order_file.do?userId=1&orderId=1" method="post" enctype="multipart/form-data">
<input type="text" name="info"/><br>
<input type="file" name="file"/><br>
<input type="submit" value="submit">
</form>
2、java程序
int userid=Integer.parseInt(req.getParameter("userId").trim());
int folderid=Integer.parseInt(req.getParameter("cloudFolderId").trim());
Map model=new HashMap();
TbCldFolder folder=fileService.getFolder(userid, folderid);
if(folder!=null){
DiskFileItemFactory factory = new DiskFileItemFactory();
// 设置上传工厂的限制
factory.setSizeThreshold(1024 * 1024 * 20);
// 设置上传的路径
factory.setRepository(new File(super.getServletContext().getRealPath("/")));
// 根据上传工厂获取servletfileupload对象
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置上传文件的大小
upload.setSizeMax(1024 * 1024 * 20);
// 正式解析数据
List items = null;
String recordurl="";
try {
items = upload.parseRequest(req);
} catch (FileUploadException e) {
e.printStackTrace();
}
Iterator it = items.iterator();
while (it.hasNext()) {
FileItem item = (FileItem) it.next();
if (item.isFormField()) {
String name = item.getFieldName();
String value = item.getString("gbk");
} else {
// 获取字段的名字
String fieldName = item.getFieldName();
// 获取文件的名字
String fileName = item.getName();
// test.jpg
// 获取文件的名字可以根据不同的后缀进行处理
// // 以当前时间来生成上传的文件名字"//pics//original//" "F:\\tupian\\"
recordurl="/pics/original/"
+ System.currentTimeMillis()
+ fileName.substring(fileName.lastIndexOf("."),
fileName.length());
// recordurl="F:\\tupian\\"
// + System.currentTimeMillis()
// + fileName.substring(fileName.lastIndexOf("."),
// fileName.length());
FileOutputStream fos = new FileOutputStream(recordurl);
// 如果上传文件已经在内存中
if (item.isInMemory()) {
fos.write(item.get());
} else {
// 获取文件的输入流
InputStream is = item.getInputStream();
byte[] buffer = new byte[1024];
int len;
while ((len = is.read(buffer)) > 0) {
fos.write(buffer, 0, len);
}
is.close();
}
fos.close();
}
}
- Java 文件上传 JQ 文件上传
- java文件上传原理
- java文件上传原理
- java上传文件
- 上传文件 JSP+java
- JAVA上传文件
- java上传文件
- java fileupload上传文件
- java-文件上传案例
- JAVA上传EXCEL文件
- java上传文件
- java 超大文件上传
- java上传文件实例
- java 文件上传
- JAVA 上传文件类
- JAVA之"文件上传"
- java文件上传
- java文件上传方法
- php 解析html标签 html_entity_decode
- onSaveInstanceState与onRestoreInstanceState什么时候触发
- 浏览器访问网页的详细内部过程
- 【转】浅谈java异常[Exception]
- 使用REST理念构建可伸缩性的J2EE框架
- java上传文件
- IPV4地址分类
- UML总结
- Android应用程序进程启动过程的源代码分析
- Ant教程-详细使用方法
- 机房收费系统--文档学习概括
- Linux 环境变量的设置、查看方法
- VS2010安装/瘦身/精简/提速方法
- 初次见面的问候