您现在的位置:首页 >> 前端 >> 内容

JSP文件上传

时间:2017/4/8 9:24:05 点击:

  核心提示:文件上传,有两种方法:第一步:第一种方法:导jar包,下jar包第二种方法:导jar包,下jar包1,下jar包2,要下两个第二步:提交方式为post,且必须加这行属性enctype=multipar...
文件上传,有两种方法:

第一步:

第一种方法:导jar包,下jar包

第二种方法:导jar包,下jar包1,下jar包2,要下两个

第二步:提交方式为post,且必须加这行属性

enctype="multipart/form-data"

upload.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

用户名:

上传文件:

第三步:获取文件

uploadServlet.java

package servlet;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

import org.apache.commons.io.FileUtils;

import com.jspsmart.upload.File;

import com.jspsmart.upload.Files;

import com.jspsmart.upload.Request;

import com.jspsmart.upload.SmartUpload;

import com.jspsmart.upload.SmartUploadException;

public class uploadServlet extends HttpServlet{

@Override

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

//文件上传 方法一

//----------------------------------------------------------------//

/*

//实例化SmartUpload

SmartUpload su=new SmartUpload();

//初始化SmartUpload

su.initialize(this.getServletConfig(),request,response);

try {

//开始上传

su.upload();

//获取新的request

Request req=su.getRequest();

//获取request的参数

String uname=req.getParameter("uname");

//获取文件集合

Files fs=su.getFiles();

//获取文件

File f=fs.getFile(0);

//获取web项目路径

String webpath=request.getServletContext().getRealPath("/");

//将获取的文件保存到web路径

String savepath=webpath+"image/"+f.getFileName();

f.saveAs(savepath);

} catch (SmartUploadException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

*/

//文件上传 方法二

//----------------------------------------------------------------//

//获取web项目的路径

String webpath=request.getServletContext().getRealPath("/");

//实例化DiskFileItemFactory

DiskFileItemFactory dfif=new DiskFileItemFactory();

//设置文件多大时需要临时文件 如:1M

dfif.setSizeThreshold(1024*1024);

//设置临时文件的保存路径

java.io.File f=new java.io.File(webpath+"/temp");

dfif.setRepository(f);

//实例化ServletFileUpload

ServletFileUpload sfu=new ServletFileUpload(dfif);

//设置上传文件的最大值 如:10M

sfu.setSizeMax(1024*1024*10);

try {

//解析请求

List fis=sfu.parseRequest(request);

//获取参数和文件

for (FileItem fi : fis) {

//非文件类型

if(fi.isFormField()){

//参数名

fi.getFieldName();

//参数值

fi.getString();

}else{//文件类型

//文件名

fi.getName();

//文件类型

fi.getContentType();

//文件大小

fi.getSize();

//保存文件到web项目的路径

java.io.File file=new java.io.File(webpath+"/files/"+fi.getName());

//得到文件的读流

InputStream is=fi.getInputStream();

//复制

FileUtils.copyInputStreamToFile(is,file);

is.close();

}

}

} catch (FileUploadException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

response.sendRedirect("download.jsp");

}

}

第四步:将文件在web项目的路径保存到数据库

Tags:JS SP P文 文件 
作者:网络 来源:不详