Home >Web Front-end >HTML Tutorial >File upload_html/css_WEB-ITnose

File upload_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:55:281037browse

  相信有过Web开发经历的小朋友,对于文件上传都不陌生,但如何在自己的网站上提供文件上传呢?我想一定难到过很多同学,我就是其中的一个,近段时间因为开发的需要,总结了一下Web端文件上传的原理,在这里和大家分享一下。

jsp页面的主要代码:

<body>    <h1>单文件上传</h1>    <hr/>    <form action="upload" method="post" enctype="multipart/form-data">    文件<input type="file" name="img1"/><br/>    <input type="submit" value="上传"/>    </form>    <h1>文件重命名</h1>    <hr/>    <form action="upload2" method="post" enctype="multipart/form-data">    文件名<input type="text" name="imgname"/><br/>    文件<input type="file" name="img1"/><br/>    <input type="submit" value="上传"/>    </form>    <h1>自动生成文件名</h1>    <hr/>    <form action="upload3" method="post" enctype="multipart/form-data">    文件<input type="file" name="img1"/><br/>    <input type="submit" value="上传"/>    </form>    <h1>多文件上传</h1>    <hr/>    <form action="upload4" method="post" enctype="multipart/form-data">    文件1<input type="file" name="img1"/><br/>     文件2<input type="file" name="img1"/><br/>      文件3<input type="file" name="img1"/><br/>    <input type="submit" value="上传"/>    </form>  </body>

  下面是具体的上传方法介绍 

<strong>单文件上传:</strong>

 SmartUpload smart = new SmartUpload();  smart.initialize(this.getServletConfig(),request,response);  try {	smart.upload();	smart.save("images");    } catch (SmartUploadException e) {	  // TODO Auto-generated catch block	  e.printStackTrace();	}

 文件重命名:

SmartUpload smart = new SmartUpload();		smart.initialize(this.getServletConfig(),request,response);		try {			smart.upload();			String imgname = smart.getRequest().getParameter("imgname");						String absPath = this.getServletContext().getRealPath("/images");//获取文件的保存路径			System.out.println(absPath);			String ext = smart.getFiles().getFile(0).getFileExt();//获取文件的后缀名					String fileName = absPath+File.separator+imgname+"."+ext;//生成文件的保存名			System.out.println("File name="+fileName);						smart.getFiles().getFile(0).saveAs(fileName);					} catch (SmartUploadException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}

<strong>自动生成文件名:</strong>

SmartUpload smart = new SmartUpload();		smart.initialize(this.getServletConfig(),request,response);				String disFile = "";		try {			smart.upload();			//String imgname = smart.getRequest().getParameter("imgname");			IPTimeStamp ipts = new IPTimeStamp();			String imgname = ipts.getIPTimestamp();						String absPath = this.getServletContext().getRealPath("/images");			System.out.println(absPath);			String ext = smart.getFiles().getFile(0).getFileExt();					String fileName = absPath+File.separator+imgname+"."+ext;			System.out.println("File name="+fileName);						smart.getFiles().getFile(0).saveAs(fileName);			disFile = imgname+"."+ext;					} catch (SmartUploadException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}

生成随机文件名的代码:

package cn.edu.hpu.util;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;public class IPTimeStamp {		private String ip;		public IPTimeStamp()	{			}	public IPTimeStamp(String ip)	{		this.ip = ip;	}		public String getIPTimestamp()	{		StringBuffer buffer = new StringBuffer();				if(ip != null)		{			String [] digits = ip.split("\\.");			for(String s : digits)			{				buffer.append(s);			}		}				//时间		SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");		String time = sdf.format(new Date());		buffer.append(time);				Random random = new Random();		for(int i=0; i<4; i++)		{			buffer.append(random.nextInt(10));		}				return buffer.toString();	}		public static void main(String[] args) {		IPTimeStamp ipts = new IPTimeStamp("192.168.19.121");		System.out.println(ipts.getIPTimestamp());	}}

<strong>多文件上传:</strong>

SmartUpload smart = new SmartUpload();		smart.initialize(this.getServletConfig(),request,response);		try {			smart.upload();			for(int i=0; i<smart.getFiles().getCount(); i++)			{				//String imgname = smart.getRequest().getParameter("imgname");				IPTimeStamp ipts = new IPTimeStamp();				String imgname = ipts.getIPTimestamp();								String absPath = this.getServletContext().getRealPath("/images");//文件保存的路径				String ext = smart.getFiles().getFile(i).getFileExt();//获得文件的后缀名							String fileName = absPath+File.separator+imgname+"."+ext;//生成上传文件的保存时的名字				System.out.println("File name="+fileName);								smart.getFiles().getFile(i).saveAs(fileName);			}		} catch (SmartUploadException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}

  相信看到这里,大家一定已经明白如何完成文件上传了。(如有错误还望指正。谢谢)

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn