private File file; 

private String fileFileName;
private String picture;
//都有getter 和 setter

InputStream is = new FileInputStream(file);
//引入一个IO流的输入流
String root = ServletActionContext.getRequest()
.getRealPath("/bookpicture");
//通过REQUEST来得到相对地址,并在后面加上/bookpicture

File f = new File(root, this.getFileFileName());
//定义一个FILE文件,第一个参数是文件的路径,第二个是文件的名字

picture="."+"\\"+"bookpicture"+"\\"+this.getFileFileName();
//为PICTURE字符串赋值,/地址/文件名
System.out.println
("======picture====="+picture);
//从控制台输出Picture

OutputStream os = new FileOutputStream(f);
//第一个文件的输出流

byte[] buffer = new byte[1024];
//定义一个bufer的字符串,长度为1024

int len = 0;
while ((len = is.read(buffer)) > 0) {
//如果从制定文件中读取到的信息为结束就继续循环
os.write(buffer, 0, len);
//将文件读出的内容写入到指定的文件中

}

package com;

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;
import com.jspsmart.upload.*;



public class uploadfiles extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
//使用了一个第三方的组件,存放在web-inf/lib下
response.setContentType("text/html;charset=GB2312");

//由于SmartUpload的初始化方法需要pageContext,所以我们在servlet中得到他
//为了得到pageConext要首先得到JspFactory的实例
//通过JspFactory的实例的getPageContext方法得到pageConext的实例
JspFactory jf = null;

//得到JspFactory的实例
jf=JspFactory.getDefaultFactory();

/*
getPageContext(Servlet servlet,
ServletRequest request,
ServletResponse response,
java.lang.String errorPageURL,
boolean needsSession,
int buffer,
boolean autoflush)
*/
PageContext pageContext=jf.getPageContext(this,request,response,null,true,8192,true);

try
{
//实例化SmartUpload
SmartUpload mySmartUpload=new SmartUpload();

//初始化SmartUpload的实例,需要PageContext的实例
mySmartUpload.initialize(pageContext);

//设定最大上传的字节数,其实可以不进行设定,表示上传的文件没有大小限制
//mySmartUpload.setTotalMaxFileSize(10000000);
mySmartUpload.upload();

//下面是单文件上传
//上传的文件以com.jspsmart.upload.File 代表,如果文件名称重复,则进行覆盖
com.jspsmart.upload.File file=mySmartUpload.getFiles().getFile(0);
String upLoadFileName=file.getFileName();

//调用com.jspsmart.upload.File实例的saveas的方法保存文件,此时的文件名即是
//保存到服务器上的文件名
file.saveAs("/upload/"+upLoadFileName);
Request req =
Text t = .....;
t.setUpload(upLoadFileName);
t.set.....(req);
}
catch(SmartUploadException e)
{
System.out.println(e.getMessage());
}



}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException
{
doGet(request,response);
}
}




更多相关文章

  1. Java调用gc机制强制删除文件
  2. 将日期保存到序列化文件
  3. 新手求教RandomAccessFile读写文件到底写入的是什么?
  4. Java逐行读写TXT文件
  5. 帮忙解析一下 java解析普通的文本文件,提取信息到execl文件中
  6. java入门---数据结构操作实例之获取链表的元素
  7. 如何从java获取spring配置文件名称
  8. [疯狂Java]NIO.2:walkFileTree、FileVisitor(遍历文件/目录)
  9. Java的Web项目中Web.xml配置文件元素详解

随机推荐

  1. Android自定义权限
  2. Android UI线程和非UI线程
  3. 深度解析Android中字体设置
  4. 基于Android官方Paging Library的Recycle
  5. [置顶] Android(安卓)编码规范
  6. Android 升级SDK管理器版本到20,安装Andro
  7. 使用html,javascript,css,phonegap创建开
  8. android系统定制从听说到入门二
  9. Android解析XML-详尽
  10. android基础知识03——事件处理01:主要事