亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JSP > 正文

JSP實現上傳文件的兩種方法

2024-09-05 00:20:25
字體:
來源:轉載
供稿:網友
在用java開發企業器系統的使用,特別是涉及到與辦公相關的軟件開發的時候,文件的上傳是客戶經常要提到的要求.因此有 一套很好文件上傳的解決辦法也能方便大家在這一塊的開發.

首先申明,該文章是為了自己記錄一備以后開發需要的時候,不用手忙腳亂哈哈........

現在在國內用的非常多的一般是兩種方法解決來解決文件上傳.

cos.jar + uploadbean.jar + filemover.jar
這個是用的非常普遍的,原因是因為他操作方便,是我們不必再去關注,那些文件的輸入和輸出流,使我們從底層的流中解脫出來.
uploadfile,uploadbean,multipartformdatarequest
<%@ page contenttype="text/html;charset=gb2312" %>
<head>
<title>fbysss uploadbean 示例</title>
<!--meta http-equiv="content-type" content="text/html; charset=iso-8859-1"-->
<!--meta http-equiv="content-type" content="text/html; charset=gb2312"-->
</head>
<form name="form1" method="post" action="sssupload.jsp" enctype="multipart/form-data">
<input name="title" type= "text" value="中文字">
<td class="bodystyle">附件</td>
<td class="bodystyle"> <input name="attach" type="file" id="attach" size="50" > </td>
<input name="ok" type= "submit" value="提交">
</form>
2.讀取表單頁面sssgetdata.jsp
<!--
//==========================================================================
//文件:uploadbean上傳實例
//功能:解決中文亂碼,完成文件上傳,并提供上傳改名解決方案
//作者:fbysss
//msn:[email protected]
//==========================================================================
-->
<%@ page contenttype="text/html;charset=gbk" %>
<%@ page language="java" import="com.jspsmart.upload.*"%>
<%@ page import="java.text.simpledateformat"%>
<%@ page import="java.io.file"%>
<%@ page import="java.util.*"%>
<%@ page import="javazoom.upload.*"%>
<%@ page import="uploadutilities.filemover"%>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
</head>
<%
request.setcharacterencoding("gbk");//設置編碼格式,就不用一個個轉碼了。
filemover filemover = new filemover();//你也可以使用自帶的實例中jsp:usebean的形式。
uploadbean upbean = new uploadbean();
multipartformdatarequest mrequest = null;
hashtable files = null;

if (multipartformdatarequest.ismultipartformdata(request))
{
mrequest = new multipartformdatarequest(request,null,100*1024*1024,multipartformdatarequest.cosparser,"gbk");//注意這里也要設置編碼參數
string stt0 = mrequest.getparameter("title");
out.println("<br>title0是:"+stt0+"<br>");
string stt1 = new string(stt0.getbytes("iso-8859-1"),"gbk");
out.println("<br>title1是:"+stt1+"<br>");
//這里用來測試title參數是否正確。調試的時候,加一句if (true)return;即可。
files = mrequest.getfiles();
}


//獲取修改前的文件名
string soldfilename =mrequest.getparameter("oldfilename");
out.println("soldfilename:"+soldfilename);
string swebrootpath = request.getrealpath("/");//得到你的web應用的根。
string spath=swebrootpath+"attach";
int ifilecount = 0;
string sserverfilename="";
string slocalfilename = "";
//文件獲取
if ( (files != null) || (!files.isempty()) ) {

ifilecount = files.size();
uploadfile file = (uploadfile) files.get("attach");
slocalfilename=file.getfilename();
out.println("slocalfilename:"+slocalfilename);
int ii= slocalfilename.indexof("."); //取文件名的后綴
string sext = slocalfilename.substring(ii,slocalfilename.length());
//得到不重復的文件名
java.util.date dt = new java.util.date(system.currenttimemillis());
simpledateformat fmt = new simpledateformat("yyyymmddhhmmsssss");
sserverfilename= fmt.format(dt);
sserverfilename =sserverfilename + sext;
//如果不存在該目錄,則新建一個
file dir =new file(spath);
if (!dir.exists()){
dir.mkdirs();
}
upbean.setfolderstore(spath);//設置要上傳的目錄
upbean.adduploadlistener(filemover);//增加filmover監聽
filemover.setnewfilename(sserverfilename);//設置服務器上的文件名
upbean.store(mrequest, "attach");//上傳
out.println("file path is "+spath+"/"+sserverfilename);
}

%>

demo注意事項:cos.jar,uploadbean.jar,filemover.jar這幾個包必須有。
必備下載地址:
uploadbean1.5:http://wcarchive.cdrom.com/pub/simtelnet/winnt/java/uploadbean1_5.zip
filemover1.3:http://www.javazoom.net/jzservlets/uploadbean/addons/filemover1.3.zip
參考下載地址:
chinesupload例子:http://www.javazoom.net/jzservlets/uploadbean/addons/chineseupload.zip
參考了fbysss的一篇文章
2. org.apache.struts.upload.formfile
struts1.1的org.apache.struts.upload.formfile類。很方便,不用自己寫。也不用寫一個jsp調用jspsmartupload就可以搞定。


選擇上傳文件頁面:selfile.jsp


--------------------------------------------------------------------------------
<%@ taglib uri="/web-inf/struts-html.tld" prefix="html"%>
<html:html>
<html:form action="/uploadsaction.do" enctype="multipart/form-data">
<html:file property="thefile"/>
<html:submit/>
</html:form>
</html:html>

--------------------------------------------------------------------------------
uploadaction.java
--------------------------------------------------------------------------------
import java.io.*;
import javax.servlet.http.*;
import org.apache.struts.action.*;
import org.apache.struts.upload.formfile;

/**
* <p>title:uploadaction</p>
* <p>description: qrrsmms </p>
* <p>copyright: copyright (c) 2004 jiahansoft</p>
* <p>company: jiahansoft</p>
* @author wanghw
* @version 1.0
*/

public class uploadaction extends action {
public actionforward execute(actionmapping mapping,
actionform form,
httpservletrequest request,
httpservletresponse response)
throws exception {
if (form instanceof uploadsform) {//如果form是uploadsform
string encoding = request.getcharacterencoding();
if ((encoding != null) && (encoding.equalsignorecase("utf-8")))
{
response.setcontenttype("text/html; charset=gb2312");//如果沒有指定編碼,編碼格式為gb2312
}
uploadform theform = (uploadform ) form;
formfile file = theform.getthefile();//取得上傳的文件
try {
inputstream stream = file.getinputstream();//把文件讀入
string filepath = request.getrealpath("/");//取當前系統路徑
bytearrayoutputstream baos = new bytearrayoutputstream();
outputstream bos = new fileoutputstream(filepath + "/" +
file.getfilename());//建立一個上傳文件的輸出流
//system.out.println(filepath+"/"+file.getfilename());
int bytesread = 0;
byte[] buffer = new byte[8192];
while ( (bytesread = stream.read(buffer, 0, 8192)) != -1) {
bos.write(buffer, 0, bytesread);//將文件寫入服務器
}
bos.close();
stream.close();
}catch(exception e){
system.err.print(e);
}
//request.setattribute("dat",file.getfilename());
return mapping.findforward("display");
}
return null;
}
}


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

uploadform.java

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


import javax.servlet.http.httpservletrequest;
import org.apache.struts.action.*;
import org.apache.struts.upload.*;

/**
* <p>title:uploadform</p>
* <p>description: qrrsmms </p>
* <p>copyright: copyright (c) 2004 jiahansoft</p>
* <p>company: jiahansoft</p>
* @author wanghw
* @version 1.0
*/

public class uploadform extends actionform {
public static final string error_property_max_length_exceeded = "org.apache.struts.webapp.upload.maxlengthexceeded";
protected formfile thefile;
public formfile getthefile() {
return thefile;
}
public void setthefile(formfile thefile) {
this.thefile = thefile;
}
public actionerrors validate(actionmapping mapping, httpservletrequest request)
{
actionerrors errors = null;
//has the maximum length been exceeded?
boolean maxlengthexceeded = (boolean)
request.getattribute(multipartrequesthandler.attribute_max_length_exceeded);
if ((maxlengthexceeded != null) && (maxlengthexceeded.booleanvalue()))
{
errors = new actionerrors();
errors.add(error_property_max_length_exceeded, new actionerror("maxlengthexceeded"));
}
return errors;

}
}
//這是相對應的form,還有其他屬性可以設置,具體可以參考struts的上傳例子。



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

struts-config.xml

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

<?xml version="1.0" encoding="utf-8"?>
<!doctype struts-config public "-//apache software foundation//dtd struts configuration 1.1//en" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="uploadsform" type="uploadform" />
</form-beans>
<action-mappings>
<action name="uploadsform" type="uploadaction" path="/uploadsaction">
<forward name="display" path="/display.jsp" />
</action>
</action-mappings>
</struts-config>
<!--display.jsp就是隨便寫一個成功頁-->
注冊會員,創建你的web開發資料庫,
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91久久夜色精品国产网站| 欧美精品激情blacked18| 91久热免费在线视频| 日韩高清人体午夜| xx视频.9999.com| 一区二区三区高清国产| 日韩a**中文字幕| 一区二区三区四区在线观看视频| 97久久超碰福利国产精品…| 亚洲免费影视第一页| 91国产高清在线| 中文在线不卡视频| 亚洲影院高清在线| 98精品国产高清在线xxxx天堂| 中国日韩欧美久久久久久久久| 国产精品高清网站| 欧美一区二区三区免费观看| 久久精品美女视频网站| 国产精品夫妻激情| 国产精品流白浆视频| 欧美国产日本高清在线| 日韩欧美国产高清91| 亚洲欧美日韩成人| 中文字幕最新精品| 国产精品免费小视频| 欧美在线视频免费播放| 日本精品久久久久影院| 国产精品视频一区二区三区四| 美女久久久久久久| 亚洲精品999| 国产亚洲精品久久久| 亚洲香蕉成视频在线观看| 日韩精品免费在线视频观看| 欧美日韩国产中文字幕| 国产精品v片在线观看不卡| 欧美一级大片视频| 日韩av网址在线观看| 久久在线精品视频| 国产精品久久久久久久app| 国产美女精品视频免费观看| 亚洲欧美三级在线| 亚洲系列中文字幕| 国产精品永久在线| 欧美国产精品日韩| 91精品久久久久久综合乱菊| 国产男人精品视频| 亚洲成人激情视频| 欧美激情一级精品国产| 国产精品免费看久久久香蕉| 国产精品成熟老女人| 国产精品色悠悠| 亚洲va男人天堂| 久久久精品国产网站| 亚洲精品女av网站| 亚洲精品国产欧美| 亚洲美女av在线| 亚洲国产婷婷香蕉久久久久久| 日韩在线中文字幕| 91久久精品国产91久久| 欧美成人激情图片网| 亚洲电影免费观看高清完整版| 人人做人人澡人人爽欧美| 亚洲丁香婷深爱综合| 国产成人av在线播放| 色先锋久久影院av| 在线日韩日本国产亚洲| 亚洲丁香婷深爱综合| 国产一区欧美二区三区| 久久精品夜夜夜夜夜久久| 中文国产成人精品| 精品中文字幕乱| 狠狠久久亚洲欧美专区| 国产99久久精品一区二区 夜夜躁日日躁| 久久精品视频导航| 欧洲午夜精品久久久| 日韩av大片免费看| 亚洲精品久久久久久久久久久久| 成人444kkkk在线观看| 亚洲欧美激情精品一区二区| 日韩精品在线观看一区二区| 欧美亚洲成人免费| 海角国产乱辈乱精品视频| 亚洲午夜激情免费视频| 日韩视频免费看| 国产日韩欧美夫妻视频在线观看| 国产精品高清免费在线观看| 8090理伦午夜在线电影| 俺去了亚洲欧美日韩| 国产午夜精品免费一区二区三区| 久久久久久美女| 久久久久久亚洲| 亚洲美女自拍视频| 亚洲精品乱码久久久久久金桔影视| 91精品国产高清自在线看超| 欧美激情一区二区三区在线视频观看| 成人a在线视频| 久久久久久久久国产精品| 久久在线免费观看视频| 色婷婷亚洲mv天堂mv在影片| 中文字幕综合在线| 日本高清+成人网在线观看| 狠狠爱在线视频一区| 91精品国产91久久久久久| 国产视频久久网| 一区二区三区高清国产| 最近2019好看的中文字幕免费| 精品magnet| 欧美日韩亚洲一区二区三区| 国产日韩精品综合网站| 亚洲精品欧美日韩| 最新中文字幕亚洲| 国内精品一区二区三区四区| 久久亚洲精品小早川怜子66| 尤物tv国产一区| 日韩一区av在线| 国产精品视频免费在线观看| 欧美性猛交xxxx乱大交3| 精品久久久久久久久久久久久久| 日韩欧美亚洲一二三区| 51久久精品夜色国产麻豆| 主播福利视频一区| 日韩欧美极品在线观看| 91国产美女在线观看| 欧美另类高清videos| 国产成人黄色av| 91av在线视频观看| 亚洲国产美女久久久久| 欧美国产精品人人做人人爱| 国产综合在线观看视频| 亚洲欧美激情另类校园| 91色在线观看| 精品国产老师黑色丝袜高跟鞋| 国产精品久久久久久久午夜| 国产97在线播放| 精品日韩视频在线观看| 久久久精品网站| 日韩毛片中文字幕| 国产精品h在线观看| 国产亚洲成av人片在线观看桃| 国产精品美女在线观看| 亚洲欧洲日产国产网站| 久久精品国产99国产精品澳门| 久久久国产91| 狠狠色狠狠色综合日日五| 国产精品免费在线免费| 韩国视频理论视频久久| 欧美激情a∨在线视频播放| 精品一区二区三区四区在线| 国产精品久久久久不卡| 欧美激情综合亚洲一二区| 久久香蕉国产线看观看网| 久久久www成人免费精品张筱雨| 日韩激情av在线播放| 欧美日韩一区二区精品| 色妞一区二区三区| 日韩www在线| 国产精品国产福利国产秒拍| 亚洲视频日韩精品| 亚洲最大福利网| 91高清在线免费观看| 尤物九九久久国产精品的分类| 久久久久久久久久久免费| 久久精品国产亚洲精品| 欧美日韩美女在线|