AjaxFileUpload实现文件异步上传
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> /** * 版本信息:V1.0 * 日期:2015-6-1 * */package com.fhsy.action.advertisement;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import javax.annotation.Resource;import org.apache.struts2.ServletActionContext;import com.fhsy.action.BaseAction;/** * * 创建人:dongsilin * 创建时间:2015-6-1 上午09:47:55 * @version * */@SuppressWarnings("all")public class advertisementAction extends BaseAction{ //广告图片文件 private File img; //广告图片名称 private String imgFileName; /** * 保存广告图片* @return */ public String saveImg(){ //检查图片的大小 if(isImg(img,imgFileName,1024*5,0)==false){ super.ajaxJson(jsonShowInfo(false,"广告图片异常,请传5M以内的图片")); return "saveImg"; } String ramdomFileName=super.getRamdomFileName(imgFileName);//获取随机图片名称 //保存图片到指定文件夹 boolean check=super.uploadFile(img,"/advertisementsImg",ramdomFileName); json(true,"广告发布成功"); return "saveImg"; } public File getImg() { return img; } public void setImg(File img) { this.img = img; } public String getImgFileName() { return imgFileName; } public void setImgFileName(String imgFileName) { this.imgFileName = imgFileName; } } /** * 图片上传 * @param file * @param name * @param url * @return * @throws Exception */ public boolean uploadFile(File file,String name,String url,String rname) { if (file != null) { try { InputStream in = new FileInputStream(file); Long size=Long.parseLong(in.available()+""); String img=(name.substring(name.lastIndexOf(".")+1,name.length())).toLowerCase(); if((img.equals("gif")||img.equals("png")||img.equals("jpg")||img.equals("jpeg"))&&size<5000000){ String dir = ServletActionContext.getRequest().getRealPath(url); File uploadFile = new File(dir,rname); OutputStream out = new FileOutputStream(uploadFile); byte[] buffer = new byte[1024 * 1024]; int lenght; while ((lenght = in.read(buffer)) > 0) { out.write(buffer,lenght); } in.close(); out.close(); } } catch (Exception e) { throw new RuntimeException(e); } } return true; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |