java服务器上传文件_Java实现文件上传至服务器的方法

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

如:一个bbs系统,当用户使用这是系统的时候,能把本机的一些图片,文档上传到服务器上面去。然后其他用户可以去下载这些文件,那么这样的话,我们可以自己编程实现文件的上传

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

常用的上传组件:

apache 的 commons fileupload

javazoom的uploadbean

jspsmartupload

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

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

本文已被整理到了《java上传操作技巧汇总》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值