java web 文件上传失败_Java Web 文件上传

在我们的web开发中,很多的时候都需要把本机的一些文件上传到web服务器上面去

如:一个BBS系统,当用户使用这是系统的时候,能把本机的一些图片,文档上传到服务器

上面去。然后其他用户可以去下载这些文件,那么这样的话,我们可以自己编程实现文件的上传

但是更好的方式是使用一些已有的组件帮助我们实现这种上传功能。

--------------------------------------------------------------------------------------------------

常用的上传组件:

Apache 的 Commons FileUpload

JavaZoom的UploadBean

jspSmartUpload

--------------------------------------------------------------------------------------------------

FileUpload下载地址:

下载:commons-fileupload-1.2.2-bin.zip    得到:commons-fileupload-1.2.2.jar

下载:commons-io-1.4-bin.zip       得到:commons-io-1.4.jar

--------------------------------------------------------------------------------------------------

upload.jsp

代码;

using commons Upload to upload file

* { font-family: "宋体"; font-size: 14px }

 请您选择需要上传的文件

上传人:
上传文件:

--------------------------------------------------------------------------------------------------

FileUploadServlet.java

代码:

/**

*

*/

package com.b510.example;

import java.io.File;

import java.io.IOException;

import java.util.*;

import javax.servlet.ServletConfig;

import javax.servlet.ServletContext;

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;

/**

*

* @author XHW

*

* @date 2011-7-26

*

*/

public class FileUploadServlet extends HttpServlet {

private static final long serialVersionUID = -7744625344830285257L;

private ServletContext sc;

private String savePath;

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

doPost(request, response);

}

public void init(ServletConfig config) {

// 在web.xml中设置的一个初始化参数

savePath = config.getInitParameter("savePath");

sc = config.getServletContext();

}

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

request.setCharacterEncoding("UTF-8");

DiskFileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload(factory);

try {

List items = upload.parseRequest(request);

Iterator itr = items.iterator();

while (itr.hasNext()) {

FileItem item = (FileItem) itr.next();

if (item.isFormField()) {

System.out.println("表单参数名:" + item.getFieldName() + ",表单参数值:" + item.getString("UTF-8"));

} else {

if (item.getName() != null && !item.getName().equals("")) {

System.out.println("上传文件的大小:" + item.getSize());

System.out.println("上传文件的类型:" + item.getContentType());

// item.getName()返回上传文件在客户端的完整路径名称

System.out.println("上传文件的名称:" + item.getName());

File tempFile = new File(item.getName());

//上传文件的保存路径

File file = new File(sc.getRealPath("/") + savePath, tempFile.getName());

item.write(file);

request.setAttribute("upload.message", "上传文件成功!");

}else{

request.setAttribute("upload.message", "没有选择上传文件!");

}

}

}

}catch(FileUploadException e){

e.printStackTrace();

} catch (Exception e) {

e.printStackTrace();

request.setAttribute("upload.message", "上传文件失败!");

}

request.getRequestDispatcher("/uploadResult.jsp").forward(request, response);

}

}

--------------------------------------------------------------------------------------------------

uploadResult.jsp

代码;

uploadResult

${requestScope['upload.message'] }

上传文件

--------------------------------------------------------------------------------------------------

web.xml

代码:

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

This is the description of my J2EE component

This is the display name of my J2EE component

FileUploadServlet

com.b510.example.FileUploadServlet

<!--设置初始化参数-->

savePath

uploads

FileUploadServlet

/servlet/fileServlet

index.jsp

uploadFile.jsp

========================================================

More reading,and english is important.

I'm Hongten

大哥哥大姐姐,觉得有用打赏点哦!多多少少没关系,一分也是对我的支持和鼓励。谢谢。

Hongten博客排名在100名以内。粉丝过千。

Hongten出品,必是精品。

E | hongtenzone@foxmail.com  B | http://www.cnblogs.com/hongten

========================================================

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值