文件上传工具_jsdelivr文件上传工具 - CSDN
  • 文件上传工具

    2019-03-12 11:40:11
    package zz.homework.util; import java.io.File; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest...import org.apache.commons.fileupl...
    package zz.homework.util;
    
    import java.io.File;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    import org.apache.commons.io.FilenameUtils;
    
    
    
    /**
     * @author Administrator
     * 上传文件工具
     */
    public class UpLoadUtils {
    	@SuppressWarnings("unchecked")
    	public static Map<String,String> upload(HttpServletRequest req){
    		// 创建一个Map集合 用来存放所有的参数数据
    		HashMap<String,String> hashMap = new HashMap<String,String>();
    		try {
    			//创建工具对象
    			DiskFileItemFactory dff = new DiskFileItemFactory();
    			
    			//创建上传工具
    			ServletFileUpload up = new ServletFileUpload(dff);
    			
    			//限制上传文件的大小
    			up.setFileSizeMax(1024*1024);
    			
    			// 解析请求中的二进制数据 返回一个List集合
    			List<FileItem> list = up.parseRequest(req);
    			for (FileItem fi : list) {
    				if(fi.isFormField()){
    					//普通字段
    					hashMap.put(fi.getFieldName(),fi.getString("utf-8"));
    				}else{
    					//限制文件类型为需要的
    					String ct = fi.getContentType();
    					if(!ct.startsWith("image/")){
    						throw new Exception("请选择图片上传!!");
    					}
    					//获取到后缀名称
    					String exName = FilenameUtils.getExtension(fi.getName());
    					//当前时间毫秒数作为随机数
    					String readomName = ""+System.currentTimeMillis();
    					//设置文件名
    					String realPath = req.getServletContext().getRealPath("/headImg");
    					//将文件名的反斜杠转换为正斜杠
    					realPath = realPath.replace("\\","/");
    					//命名
    					fi.write(new File(realPath+"/"+readomName+"."+exName));
    					//执行DAO操作 保存到数据库
    					hashMap.put("headImg","headImg/"+readomName+"."+exName);
    				}
    			}
    			//提示
    			req.setAttribute("msg","上传成功!!");
    		} catch (FileSizeLimitExceededException e) {
    			req.setAttribute("msg","文件大小请勿超过1M!!");
    		} catch (Exception e) {
    			req.setAttribute("msg","注册失败!!");
    		}
    		return hashMap;
    	}
    }
    
    
    展开全文
  • 执行upload.exe程序启动服务器,监听端口8080,在浏览器中访问服务器即可实现上传文档,上传的文档存入服务器的upload子目录下。例如,upload.exe在IP地址为192.168.1.222的机器上启动,即可在局域网中的任何一台...
  • 文件上传工具

    2018-04-11 09:07:12
    import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import javax.servlet.ServletOutputStream;import javax.servlet....
    package cn.itcast.util;


    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;


    import javax.servlet.ServletOutputStream;
    import javax.servlet.http.HttpServletResponse;


    public class DownloadUtil {

    /**
    * @param filePath 要下载的文件路径
    * @param returnName 返回的文件名
    * @param response HttpServletResponse
    * @param delFlag 是否删除文件
    */
    protected void download(String filePath,String returnName,HttpServletResponse response,boolean delFlag){
    this.prototypeDownload(new File(filePath), returnName, response, delFlag);
    }




    /**
    * @param file 要下载的文件
    * @param returnName 返回的文件名
    * @param response HttpServletResponse
    * @param delFlag 是否删除文件
    */
    protected void download(File file,String returnName,HttpServletResponse response,boolean delFlag){
    this.prototypeDownload(file, returnName, response, delFlag);
    }

    /**
    * @param file 要下载的文件
    * @param returnName 返回的文件名
    * @param response HttpServletResponse
    * @param delFlag 是否删除文件
    */
    public void prototypeDownload(File file,String returnName,HttpServletResponse response,boolean delFlag){
    // 下载文件
    FileInputStream inputStream = null;
    ServletOutputStream outputStream = null;
    try {
    if(!file.exists()) return;
    response.reset();
    //设置响应类型 PDF文件为"application/pdf",WORD文件为:"application/msword", EXCEL文件为:"application/vnd.ms-excel"。  
    response.setContentType("application/octet-stream;charset=utf-8");


    //设置响应的文件名称,并转换成中文编码
    //returnName = URLEncoder.encode(returnName,"UTF-8");
    returnName = response.encodeURL(new String(returnName.getBytes(),"iso8859-1")); //保存的文件名,必须和页面编码一致,否则乱码

    //attachment作为附件下载;inline客户端机器有安装匹配程序,则直接打开;注意改变配置,清除缓存,否则可能不能看到效果
    response.addHeader("Content-Disposition",   "attachment;filename="+returnName);  

    //将文件读入响应流
    inputStream = new FileInputStream(file);
    outputStream = response.getOutputStream();
    int length = 1024;
    int readLength=0;
    byte buf[] = new byte[1024];
    readLength = inputStream.read(buf, 0, length);
    while (readLength != -1) {
    outputStream.write(buf, 0, readLength);
    readLength = inputStream.read(buf, 0, length);
    }
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    try {
    outputStream.flush();
    } catch (IOException e) {
    e.printStackTrace();
    }
    try {
    outputStream.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    try {
    inputStream.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    //删除原文件

    if(delFlag) {
    file.delete();
    }
    }
    }


    /**
    * by tony 2013-10-17
    * @param byteArrayOutputStream 将文件内容写入ByteArrayOutputStream
    * @param response HttpServletResponse 写入response
    * @param returnName 返回的文件名
    */
    public void download(ByteArrayOutputStream byteArrayOutputStream, HttpServletResponse response, String returnName) throws IOException{
    response.setContentType("application/octet-stream;charset=utf-8");
    returnName = response.encodeURL(new String(returnName.getBytes(),"iso8859-1")); //保存的文件名,必须和页面编码一致,否则乱码
    response.addHeader("Content-Disposition",   "attachment;filename=" + returnName);  
    response.setContentLength(byteArrayOutputStream.size());

    ServletOutputStream outputstream = response.getOutputStream(); //取得输出流
    byteArrayOutputStream.writeTo(outputstream); //写到输出流
    byteArrayOutputStream.close(); //关闭
    outputstream.flush(); //刷数据
    }

    }






    案例  (WorkBook workBook=new HSSFWorkBook())







    展开全文
  • 文件上传工具类,支持.xls和.xlsx类型 调用inportExcel方法(我自己生成的uuid为文件名称,防止重复) package com.mapuni.utils; import java.io.File; import java.io.FileInputStream; import java.io....

    文件上传的工具类,支持.xls和.xlsx类型

    调用inportExcel方法(我自己生成的uuid为文件名称,防止重复)

    package com.mapuni.utils;
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.math.BigDecimal;
    import java.text.SimpleDateFormat;
    import java.util.*;
    
    
    import org.apache.log4j.Logger;
    import org.apache.poi.hssf.usermodel.HSSFCell;
    import org.apache.poi.hssf.usermodel.HSSFRow;
    import org.apache.poi.hssf.usermodel.HSSFSheet;
    import org.apache.poi.hssf.usermodel.HSSFWorkbook;
    import org.apache.poi.ss.usermodel.CellType;
    import org.apache.poi.ss.util.CellRangeAddress;
    import org.apache.poi.xssf.usermodel.XSSFCell;
    import org.apache.poi.xssf.usermodel.XSSFRow;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    import org.springframework.web.multipart.MultipartFile;
    
    
    /*
     *  读取excel的工具类
     * @Author xujiajia
     * @Date  2019/7/19
     **/
    public class ReadExcelUtil {
    	private final Logger logger = Logger.getLogger(ReadExcelUtil.class);
    	
    	private final String OFFICE_EXCEL_2003_POSTFIX = "xls";
        private final String OFFICE_EXCEL_2010_POSTFIX = "xlsx";
        private final String EMPTY = "";
        private final String POINT = ".";
        private final String LIB_PATH = "lib";
        private final String STUDENT_INFO_XLS_PATH = LIB_PATH + "/student_info" + POINT + OFFICE_EXCEL_2003_POSTFIX;
        private final String STUDENT_INFO_XLSX_PATH = LIB_PATH + "/student_info" + POINT + OFFICE_EXCEL_2010_POSTFIX;
        private final String NOT_EXCEL_FILE = " : Not the Excel file!";
        private final String PROCESSING = "Processing...";
     
    	/**
    	 * 总页数
    	 */
    	private int count=0;
    	 
    	/**
    	*
    	* @date 2019年6月13日 下午4:47:43
    	* @Description:读取excel2010版后的
    	 */
        public List<Map<String, String>> readXlsx(MultipartFile file, String tabName,int index,int celNum,String userId) throws IOException {
    		InputStream inputStream = null;
    		List<Map<String, String>> listMap = new ArrayList<>();
    		try {
    			inputStream = file.getInputStream();
    //			inputStream = new FileInputStream(path);
    			//文件大小
    			String fileSize=bytes2kb(inputStream.available());
    			XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inputStream);
    			XSSFSheet xssfSheet = null;
    			int startRowNum = 0;
    			int endRowNum = 0;
    			int celNums=0;
    			// 总页数
    			count = 0;
    			boolean bool = true;
    			// 清空
    			listMap.clear();
    			int sheetNum=xssfWorkbook.getNumberOfSheets();
    			Map<String, String> talNameMap = new HashMap<>();
    			talNameMap.put("fileSize",fileSize);
    			for (int i=0; i<sheetNum;i++ ){
    				talNameMap.put(String.valueOf(i),xssfWorkbook.getSheetName(i));
    			}
    			listMap.add(talNameMap);
    			xssfSheet = xssfWorkbook.getSheet(tabName);
    			if (xssfSheet == null) {
    				return listMap;
    			}
    			// 分页判断
    			startRowNum = index;
    			endRowNum = xssfSheet.getLastRowNum();
    			count = xssfSheet.getLastRowNum() - startRowNum;
    
    			// Read the Row
    			for (int rowNum = startRowNum; rowNum < endRowNum; rowNum++) {
    				XSSFRow xssfRow = xssfSheet.getRow(rowNum);
    				//判断空行
    				if(xssfRow==null) {
    					continue;
    				}
    				//判断是否是合并行 
    				if (isMergedRegion(xssfSheet, xssfRow.getRowNum(), 1)) {
    					System.out.println("============>"+rowNum+":合并单元格,停止循环");
    					break;
    				}
    				if(celNum==0){ //
    
    					if(celNums<xssfRow.getPhysicalNumberOfCells()){
    						celNums=xssfRow.getPhysicalNumberOfCells();
    					}
    				}else {
    					celNums=celNum;
    				}
    				Map<String, String> map = new HashMap<>();
    				//判断是否一行全都是空
    				int isNullRow=0;
    				for (int i = 0; i <= celNums; i++) {
    					if(xssfRow.getCell(i)==null){ //当前列是否为空
    						map.put(String.valueOf(i), "");
    						continue;
    					}
    					String value = getValue(xssfRow.getCell(i));
    					if (value != null && value.contains("注:①√表示必填项")) {
    						// 重新对分页进行处理
    						bool = false;
    						break;
    					} else {
    						//如果不等于空加1
    						if(value!=null) {
    							isNullRow++;
    						}
    						map.put(String.valueOf(i), value);
    					}
    				}
    				if (bool == false) {
    					count = rowNum - index;
    					break;
    				}
    //				//增加通用参数
    //				map.put(String.valueOf(celNum), UUID.randomUUID().toString());
    //				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    //				map.put(String.valueOf(celNum+1), df.format(new Date()));
    //				map.put(String.valueOf(celNum+2), userId);
    //				map.put(String.valueOf(celNum+3),proCode);
    				//空行不进行插入
    				if(isNullRow>0) {
    					listMap.add(map);
    				}
    			}
    
    		} catch (Exception e) {
    			logger.error(e.getMessage(),e);
    
    		} finally {
    			// 无论如何关闭流
    			inputStream.close();
    		}
    		return listMap;
    	}
    
    
    	/**
    	 *
    	 *@Date: 2019/7/17 16:04
    	 *@Description: Read the Excel 2003-2007
    	 **/
    	public  List<Map<String, String>> readXls(MultipartFile file, String tabName, int index, int celNum, String userId) throws IOException {
    		InputStream inputStream = null;
    		List<Map<String, String>> listMap = new ArrayList<>();
    		try {
    			inputStream = file.getInputStream();
    			//文件大小
    			String fileSize=bytes2kb(inputStream.available());
    			HSSFWorkbook hssfWorkbook = new HSSFWorkbook(inputStream); 
    		    HSSFSheet hssfSheet=null;
    			int startRowNum = 0;
    			int endRowNum = 0;
    			int celNums=0;
    			// 总页数
    			count = 0;
    			boolean bool = true;
    			// 清空
    			listMap.clear();
    			if (tabName.equals("")|| tabName==null){
    				hssfSheet=hssfWorkbook.getSheetAt(0);
    			}else {
    				hssfSheet =hssfWorkbook.getSheet(tabName);
    			}
    
    			int sheetNum=hssfWorkbook.getNumberOfSheets();
    			Map<String, String> talNameMap = new HashMap<>();
    			for (int i=0; i<sheetNum;i++ ){
    				talNameMap.put(String.valueOf(i),hssfWorkbook.getSheetName(i));
    			}
    			talNameMap.put("fileSize",fileSize);
    			listMap.add(talNameMap);
    //			workbook.getSheetAt(1);//读取序号为1的sheet(第二张sheet)
    			if (hssfSheet == null) {
    				return listMap;
    			}
    			// 分页判断
    			startRowNum = index;
    			endRowNum = hssfSheet.getLastRowNum();
    			count = hssfSheet.getLastRowNum() - startRowNum;
    
    			// Read the Row
    			for (int rowNum = startRowNum; rowNum <= endRowNum; rowNum++) {
    				HSSFRow hssfRow = hssfSheet.getRow(rowNum);
    				//判断空行
    				if(hssfRow==null) {
    					continue;
    				}
    
    				if(celNum==0){ //
    
    					if(celNums<hssfRow.getPhysicalNumberOfCells()){
    						celNums=hssfRow.getPhysicalNumberOfCells();
    					}
    				}else {
    					celNums=celNum;
    				}
    				Map<String, String> map = new HashMap<>();
    				//判断是否一行全都是空
    				int isNullRow=0;
    				for (int i = 0; i <= celNums; i++) {
    					if(hssfRow.getCell(i)==null){
    						map.put(String.valueOf(i), "");
    						continue;
    					}
    					String value = getValue(hssfRow.getCell(i));
    					if (value != null && value.contains("注:①√表示必填项")) {
    						// 重新对分页进行处理
    						bool = false;
    						break;
    					} else {
    						//如果不等于空加1
    						if(value!=null) {
    							isNullRow++;
    						}
    						map.put(String.valueOf(i), value);
    					}
    				}
    				if (bool == false) {
    					count = rowNum - index;
    					break;
    				}
    				//增加通用参数
    //				map.put(String.valueOf(celNum), UUID.randomUUID().toString());
    				SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    				map.put(String.valueOf(celNums+1), df.format(new Date()));
    				map.put(String.valueOf(celNums+2), userId);
    //				map.put(String.valueOf(celNum+3),proCode);
    				//空行不进行插入
    				if(isNullRow>0) {
    					listMap.add(map);
    				}
    			}
    
    		} catch (Exception e) {
    			logger.error(e.getMessage(),e);
    
    		} finally {
    			// 无论如何关闭流
    			inputStream.close();
    		}
    		return listMap;
    	}
    
    	/**
    	*
    	* @date 2019年7月13日 下午4:47:43
    	* @Description:获得表格值 2010版后
    	 */
    	@SuppressWarnings("static-access")
        private String getValue(XSSFCell xssfRow) {
            try {
                if (xssfRow != null && xssfRow.toString().length() > 0) {
                    if (xssfRow.getCellType()== CellType.BOOLEAN) {
                        return String.valueOf(xssfRow.getBooleanCellValue());
                    } else if (xssfRow.getCellType() == CellType.NUMERIC) {
                        System.out.print("=======================>"+xssfRow.getNumericCellValue());
                    	long longVal = Math.round(xssfRow.getNumericCellValue());
                    	if (Double.parseDouble(longVal + ".0") == xssfRow.getNumericCellValue())
                    		return longVal+"";
                    	else
                    		return xssfRow.getNumericCellValue()+""; 
                    } else {
                        return String.valueOf(xssfRow.getStringCellValue());
                    }
                }
            	
            } catch (Exception e) {
            	logger.error(e.getMessage(),e);
                return null;
            }
            return null;
        }
    
    	/**
    	*
    	* @date 2019年6月13日 下午4:47:43
    	* @Description:获得表格值 2003版
    	 */
    	@SuppressWarnings("static-access")
    	private String getValue(HSSFCell hssfCell) {
    		if (hssfCell.getCellType() == CellType.BOOLEAN) {
    			return String.valueOf(hssfCell.getBooleanCellValue());
    		} else if (hssfCell.getCellType() == CellType.NUMERIC) {
    			if (String.valueOf(hssfCell.getNumericCellValue()).indexOf(".00")>=0){
    				return String.valueOf(hssfCell.getNumericCellValue()).trim();
    			}else {
    				return String.valueOf(hssfCell.getNumericCellValue()).replace(".0","").trim();
    			}
    		} else {
    			return String.valueOf(hssfCell.getStringCellValue());
    		}
    	}
    
    	/**
    	*
    	* @date 2019年7月13日 下午4:47:43
    	* @Description:判断导入excel类型
    	 */
    	public String getPostfix(String path) {
    		if (path == null || EMPTY.equals(path.trim())) {
    			return EMPTY;
    		}
    		if (path.contains(POINT)) {
    			return path.substring(path.lastIndexOf(POINT) + 1, path.length());
    		}
    		return EMPTY;
    	}
    
    	/**
    	 *
    	 * @date 2019年7月13日 上午11:09:04
    	 * @Description:导入excel
    	 */
    	public List<Map<String, String>> inportExcel(MultipartFile file, String tabName,int index,int celNum,String userId)throws IOException {
    		List<Map<String, String>> listMap = new ArrayList<>();
    		if (file != null) {
    
    			String postfix = getPostfix(file.getOriginalFilename());
    			if (!EMPTY.equals(postfix)) {
    				if (OFFICE_EXCEL_2003_POSTFIX.equals(postfix)) {
    					listMap = readXls(file, tabName, index, celNum,userId);
    				} else if (OFFICE_EXCEL_2010_POSTFIX.equals(postfix)) {
    					listMap = readXlsx(file, tabName,index,celNum,userId);
    				}
    			} else {
    				System.out.println(file.getOriginalFilename() + NOT_EXCEL_FILE);
    			}
    		}
    		return listMap;
    	}
    	 
    	
    	//判断是否存在合并行
    	public boolean isMergedRegion(XSSFSheet sheet, int row, int column) {
    		int sheetMergeCount = sheet.getNumMergedRegions();
    		for (int i = 0; i < sheetMergeCount; i++) {
    			CellRangeAddress ca = sheet.getMergedRegion(i);
    			int firstColumn = ca.getFirstColumn();
    			int lastColumn = ca.getLastColumn();
    			int firstRow = ca.getFirstRow();
    			int lastRow = ca.getLastRow();
    			if (row >= firstRow && row <= lastRow) {
    				if (column >= firstColumn && column <= lastColumn) {
    					return true;
    				}
    			}
    		}
    		return false;
    	}
    	/**
    	 * byte(字节)根据长度转成kb(千字节)和mb(兆字节)
    	 *
    	 * @param bytes
    	 * @return
    	 */
    	public String bytes2kb(long bytes) {
    		BigDecimal filesize = new BigDecimal(bytes);
    		BigDecimal megabyte = new BigDecimal(1024 * 1024);
    		float returnValue = filesize.divide(megabyte, 2, BigDecimal.ROUND_UP)
    				.floatValue();
    		if (returnValue > 1)
    			return (returnValue + "MB");
    		BigDecimal kilobyte = new BigDecimal(1024);
    		returnValue = filesize.divide(kilobyte, 2, BigDecimal.ROUND_UP)
    				.floatValue();
    		return (Math.round(returnValue) + "KB");
    	}
    
    
    	/**
    	 *读取所有表名
    	 **/
    	public  List<Map<String, String>> readXlsNames(MultipartFile file) throws IOException {
    		InputStream inputStream = null;
    		List<Map<String, String>> listMap = new ArrayList<>();
    		try {
    			inputStream = file.getInputStream();
    			String postfix = getPostfix(file.getOriginalFilename());
    			if (!EMPTY.equals(postfix)) {
    				if (OFFICE_EXCEL_2003_POSTFIX.equals(postfix)) {
    					HSSFWorkbook hssfWorkbook = new HSSFWorkbook(inputStream);
    
    					listMap.clear();
    					int sheetNum=hssfWorkbook.getNumberOfSheets();
    					Map<String, String> talNameMap = new HashMap<>();
    					for (int i=0; i<sheetNum;i++ ){
    						talNameMap.put(String.valueOf(i),hssfWorkbook.getSheetName(i));
    					}
    					listMap.add(talNameMap);
    				} else if (OFFICE_EXCEL_2010_POSTFIX.equals(postfix)) {
    					XSSFWorkbook xssfWorkbook = new XSSFWorkbook(inputStream);
    					XSSFSheet xssfSheet = null;
    					// 清空
    					listMap.clear();
    					int sheetNum=xssfWorkbook.getNumberOfSheets();
    					Map<String, String> talNameMap = new HashMap<>();
    					for (int i=0; i<sheetNum;i++ ){
    						talNameMap.put(String.valueOf(i),xssfWorkbook.getSheetName(i));
    					}
    					listMap.add(talNameMap);
    				}
    			}
    		} catch (Exception e) {
    			logger.error(e.getMessage(),e);
    
    		} finally {
    			// 无论如何关闭流
    			inputStream.close();
    		}
    		return listMap;
    	}
    
    }
    

    文件上传的实体类

    package com.mapuni.entity.utilEntity;
    
    import java.util.Date;
    
    /**
     * 文件上传的实体类
     */
    public class FileUploadEntity {
        /**文件ID*/
        private Integer id;
    
        /**文件原名称*/
        private String origName;
    
        /**文件新名称*/
        private String newName;
    
        /**文件上传后服务器访问地址*/
        private String serverPath;
    
        /**文件大小*/
        private Double fileSize;
    
        /**文件MD5*/
        private String fileMd5;
    
        /**文件上传时间*/
        private Date uploadTime;
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getOrigName() {
            return origName;
        }
    
        public void setOrigName(String origName) {
            this.origName = origName;
        }
    
        public String getNewName() {
            return newName;
        }
    
        public void setNewName(String newName) {
            this.newName = newName;
        }
    
        public String getServerPath() {
            return serverPath;
        }
    
        public void setServerPath(String serverPath) {
            this.serverPath = serverPath;
        }
    
        public Double getFileSize() {
            return fileSize;
        }
    
        public void setFileSize(Double fileSize) {
            this.fileSize = fileSize;
        }
    
        public String getFileMd5() {
            return fileMd5;
        }
    
        public void setFileMd5(String fileMd5) {
            this.fileMd5 = fileMd5;
        }
    
        public Date getUploadTime() {
            return uploadTime;
        }
    
        public void setUploadTime(Date uploadTime) {
            this.uploadTime = uploadTime;
        }
    }
    

     

    展开全文
  • FileZilla一个FTP文件传输工具,便于连接远程服务器使用。
  • 概述:下面列举了十个非常好用的文件上传工具,它们有些是针对jQuery的插件,有些是Ajax文件上传插件,还有支持多文件和大文件的批量上传工具。 根据维基百科的定义,文件上传是将本地的数据传送到远程系统的...
    概述:下面列举了十个非常好用的文件上传工具,它们有些是针对jQuery的插件,有些是Ajax文件上传插件,还有支持多文件和大文件的批量上传工具。

    根据维基百科的定义,文件上传是将本地的数据传送到远程系统的过程,比如一个服务器。此外,远程系统还需将任何正在上传的文件复制一个备份。下面列举了十个非常好用的文件上传工具,它们有些是针对jQuery的插件,有些是Ajax文件上传插件,还有支持多文件和大文件的批量上传工具。

    1、uploadify

    它是针对jQuery的免费文件上传插件,可以轻松将单个或多个文件上传到网站上,可控制并发上传的文件数,通过接口参数和CSS控制外观。Web服务器需支持flash和后端开发语言。

    2、FancyUpload

    它是一个由CSS和XHTML编写样式的Ajax文件上传工具,安装简便,服务器独立,由MooTools模块驱动,可以在任何现代浏览器上使用。

    3、Aurigma Upload Suite(Image Uploader)

    这是一个不限大小,不限格式的文件/图片批量上传工具,是收费控件。它支持云端存储和客户端文件处理,支持断点续传,稳定可靠。从8.0.8开始,Image Uploader将名称改为"Aurigma Upload Suite"。

    Upload Suite,Image Uploader

    4、Multiple File Upload - JQuery

    这个Multiple File Upload Plug-in是JQuery JavaScript库的多文件上传插件,帮助用户选择多个文件同时上传,还可以识别一些简单的错误。

    5、Mootool based Multiple file uploader

    这是一个基于MooTools的轻量级多文件上传工具,只有2.5K。有一些简单的CSS,一个HTML示例文件和一个readme。

    6、AjaxFileUpload

    顾名思义,这是一个Ajax文件上传工具,是由 yvind Saltvik创建的Ajaxupload的黑客版。它简化了HTML文档的遍历、处理事件、执行动画,并添加Ajax交互到Web页面。

    7、File upload progress bars with PHP

    上传文件时,通过PHP 5.2.x的file upload hooks生成进度条。

    8、Create An Ajax Style File Upload

    这个一个Ajax版本的文件上传工具,操作简单。使用Iframe上传文件,页面无刷新,上传文件时会显示一个进度条。

    9、Styling inputs with css and dom

    样式文件输入工具,提供标记、CSS和JavaScript,旨在解决设计师无法精细的表达设计思想的问题,支持 IE 5.5+ , Firefox 1.5+ , Safari 2+。

    10、jqUploader

    这也是一个jQuery插件,界面上有进度条和百分比。可以在菜单中用html代码直接定义,如最大文件尺寸。

    jquploader

    展开全文
  • package com.kuaifa.web.utils; import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache....
  • 目前最好用的文件上传工具plupload演示about plupload 我之前写过一篇文章《文件上传利器SWFUpload使用指南》,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为...
  • 对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令。今天,我们就简单的讲解一下...
  • SpringBoot集成文件上传工具

    千次阅读 2018-12-27 13:34:34
    package com.saliai.lifebank_mall.utils; import com.saliai.lifebank_mall.common.message.BaseService; import com.saliai.lifebank_mall.common.message.ResponseType; import ...
  • -- Spring文件上传表单的视图解析器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="defaultEncoding" value="U
  • java的文件上传工具

    千次阅读 2018-10-30 11:23:02
    package util; import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream;...import java.net.HttpURLConnection;...
  • 以http方式实现文件上传 工具类demo

    千次阅读 2013-11-30 15:14:56
    android 实现文件上传
  • JAVA文件上传工具

    千次阅读 2014-06-26 17:24:14
    package com.ccxe.trust.proselect.action; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.io.PrintWriter;...import java.io.UnsupportedEncodingException;...impo
  • COS-upload基于腾讯COS云对象存储SDK,使用Python编写的文件上传工具,发布与github上,有需要的在下方访问。概念COS云对象存储,听起来是一个很玄的概念,官方的概念是对象存储服务(Cloud Object Service)是面向...
  • 上传文件工具

    万次阅读 2018-01-31 12:08:13
    工具类有两种方式上传,一种是base64,常用于客户端上传图片;另一种是一文件形式上传,常用于网页端上传文件。 import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.ByteArrayInput
  • Java实现文件上传下载工具

    千次阅读 2017-10-10 11:44:01
    本篇文章在Eclipse环境下采用Java语言实现文件上传下载工具类。上传时,为避免文件名在服务器中重复,采用“服务器时间(定义到毫秒)+文件名+文件后缀“的方式作为服务器上的文件名;下载过程中利用 spring mvc ...
  • 因为在做毕设,发现之前...所以我封装了一个文件上传下载的工具类,采用sftp协议. 简单方便可用性高!!! 本系列文章: springboot上传下载文件(1)(项目和文件资源放在同一个服务器上) springboot上传下载文...
  • 文件上传工具--dropzone.js

    千次阅读 2017-01-03 11:19:43
    前段时间在项目中要用一个文件上传工具,于是研究了一下dropzone.js。dropzone.js是一个可预览的上传文件工具,不依赖任何框架(如jQuery),且具有可定制化。实现文件拖拽上传,提供AJAX异步上传功能。
  • xshell 文件上传和下载

    万次阅读 2018-09-14 21:59:41
    xshell 文件上传和下载 介绍两种方式:命令、工具 上传和下载参照对象是本机 命令: 1.sz&nbsp; 文件下载(文件大小限制 4G) 2.rz 文件上传 工具: File Transfer(工具栏中有) 这个没有上面的sz文件大小的...
1 2 3 4 5 ... 20
收藏数 321,806
精华内容 128,722
关键字:

文件上传工具