Struts2上传图片和注意事项
1.必须有拦截器:
(1).可放在公共拦截器中 <interceptor-ref name="fileUpload"/> (2).可放在action中 <!-- 配置名字为fileUpload的拦截器 --> <interceptor-ref name="fileUpload"> <!-- 配置允许上传的文件类型 --> <param name="allowedTypes">image/bmp,image/png,image/gif, image/jpeg,image/pjpeg,image/x-png</param> <!-- 配置允许上传文件的大小(单位字节) --> <param name="maximumSize">104857600</param> </interceptor-ref> <!-- defaultStack必须配置在fileUpload后面 --> <interceptor-ref name="defaultStack"></interceptor-ref>
2.修改限制的大小:
<constant name="struts.multipart.maxSize" value="10485760" /> 或 struts.multipart.maxSize=104857600
注:不用改的地方:
struts.multipart.parser=jakarta struts.multipart.saveDir=??
3.页面的form中需要加:
enctype="multipart/form-data"
4.页面的上传域如下:(注意name属性)
<input type="file" name="image" />
5.action中必须加的属性:(注意添加set/get方法)
private File image; // 上传图片获取的File对象 private String imageFileName; //上传图片获取的图片名字 private String imageContentType; //上传图片获取的图片类型
上传工具类:
import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Calendar; public class UploadFileUtil { /** * 上传图片的方法 * @param imageFile // 上传图片获取的File对象 * @param imageName //上传图片获取的图片名字 * @return * @throws IOException */ public static String uploadImage(File imageFile, String imageName ) throws IOException { int random = (int)(Math.random()*900)+100; /*创建输入流*/ InputStream is = new FileInputStream(imageFile); /*设置上传目录*/ String path = "G:\\resource"; Calendar cal=Calendar.getInstance(); String imageUrlPath = "images" + File.separator + cal.get(Calendar.YEAR) + File.separator + (cal.get(Calendar.MONTH)+1) + File.separator + cal.get(Calendar.DAY_OF_MONTH); String imagePath = path + File.separator + imageUrlPath; File file = new File(imagePath); if (!file.exists()) { file.mkdirs(); } /*设置目标文件*/ String targetImageName = "" + cal.get(Calendar.HOUR) + cal.get(Calendar.MINUTE) + cal.get(Calendar.SECOND) + cal.get(Calendar.MILLISECOND) + random + imageName.substring(imageName.indexOf(".")); File target = new File(imagePath + File.separator + targetImageName); /*创建输出流*/ OutputStream os = new FileOutputStream(target); byte[] buffer = new byte[1024]; int length = 0; while ((length = is.read(buffer)) > 0) { os.write(buffer, 0, length); } is.close(); os.close(); return imageUrlPath + File.separator + targetImageName; } }
参考:
相关推荐
本文讲述了使用Struts 2标签的注意事项,并介绍了学习Struts 2标签比较权威的网站。
使用struts2 上传图片到项目webapps目录下 然后生成缩略图 返回到页面显示缩略图
struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载 struts2文件上传和下载
struts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileuploadstruts2 文件上传 struts2上传标签file fileupload
ckeditor和struts2实现图片上传和编辑器上浏览!
struts上传struts上传 struts上传struts上传
struts2文件上传struts2文件上传struts2文件上传struts2文件上传struts2文件上传struts2文件上传struts2文件上传struts2文件上传
struts2上传图片到Oracle,并进行显示,测试可以成功上传
实现图片的上传和图片的预览,主要用strust2实现的
在struts2基础上实现的包括单文件、多文件的上传及下载
strut 上传图片 网站统计访问量 struts 重复提交
struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别struts1和struts2的区别...
struts上传视频与照片可以再后页面显示。支持同时上传。
ssh框架用struts2 hibernate实现图片的上传源码
Struts2文件上传源码 Struts2文件上传源码 Struts2文件上传源码 Struts2文件上传源码 Struts2文件上传源码
struts2 ajax图片上传
Struts2上传图片并生成等比例缩略图的实例,在上传文件的同时生成等比例的缩略图,分放在不同的文件夹下。自己亲测,没有问题。
struts2 批量上传 图片+ 文件 显示进度条
struts2 上传图片限制.struts2 上传图片限制.struts2 上传图片限制.
struts2使用json注意事项 struts2使用json注意事项 struts2使用json注意事项 struts2使用json注意事项