琛ㄥ?? multipart/form-data 濡?浣???浜や腑??涔辩??
瑙e?虫?规?锛?
multipart/form-data ???ㄦ?ヤ?浼???浠舵?剁??涓?涓?绫诲??
濡????ㄨ?涓???璇?锛???涓?涓?涓??ㄧ??涔辩??瑙e?崇????**.getString(??????妗?name??,??GB18030??);
?e氨涓?瀛??ㄤ贡??浜?
璨?浼肩?板?ㄦ??涓???????锛?涓???涔辩??锛?妤间富??绱????
???锛?浣???涔辩??涔?娌℃??璇存?妤???
浣???浠ヤ慨??spsmartupload锛?璁╂?????版?圭??缂????界?涓?涓?TF-8
?抽??瀛?锛?smartupload锛?uploadbean锛?linux锛?涓???涔辩??
涓???SmartUpload涓?浼???浠朵贡??瑙e?崇邯瀹?
?跺????帮?浜???
瀹???绋?搴??80锛?锛???浠跺????棰???瑙e?筹?
??棰???杩帮???indows涓?寮?????web搴?????ㄥ?颁?smartupload涓?浼???浠讹???姹?寰?绠???锛?灏辨??涓?涓?琛ㄥ????浠?ormdata.jsp锛?涓?涓??峰??琛ㄥ??骞朵?浼?????浠?etdata.jsp锛?璋?璇????跺??锛?windows??linux绯荤?涓???姝e父锛?褰?绯荤?瀹?瑁??板????版???″?ㄧ???跺??锛??村?虹?颁??峰??琛ㄥ?????板?间负涔辩??锛??ㄦ?????凤?锛?锛?锛?????棰???
????瀛????㈢??涓???瑙???锛?涓ゅ?版?哄???????浜?璇存????涓?寮?????瀹?瑁???Linux锛?浣????筹??规???昏??ㄦ??锛???瀹???杩?liux瑁?寰?涓?涓??凤????????稿?崇?????′?涓??枫????????涔????藉????惰??锛?涓?澶翠换?′氦缁????ヨВ?充?锛???涓?绯荤?椹?涓?瑕?姝e?浣跨???濡?????瑕?姹????板??瑁?Linux锛???涔???涓????界?????eソ锛???涓??ュ?扮?憋?璋??ュ?扮?憋???灏遍??瀹?涓?????
?跺???ㄨ?涓??跺??锛???杩?璁や负??棰?涓?澶х??????涓?ava寮?????涓?瑗匡?涔辩????棰???瀹跺父渚块キ锛???瑙e?冲??娉?涔?灏辨???e??绉???涓?灏变?涓?杞?????锛?褰??跺ご?块??????棰?澶т?澶э???璇达?搴?璇ユ病?ュぇ??棰???
??寮?濮?杩?琛?getByte()杞???锛???SO-8859-1 涓?gb312/GBK??浜??歌浆???????锛???????TF-8锛?涓?琛?锛?
????lt;%@ page contentType=??text/html;charset=gb2312??>杩?琛?缂????挎???涓?琛?锛?
淇???inux LANG=zh_CN.GB2312锛?涓?琛?锛?
淇???eb.xml??charset锛?涓?琛?锛? 姝ゆ?舵????涔?宸茬??ラ??浜????????崇??缃?椤碉???涓??惧?拌???棰???smartupload???炽??浣?瑙e?崇??浜哄?ュ?ユ????锛???涓?瑙e?崇????娉?涔?寰?涓?璇??锛?浜?????sdn涓???甯?锛?缁?????澶╂病浜虹??浼?锛?椤堕?芥病浜洪《????涓?寮???缇や???锛?澶у?堕?藉?锛?涔?????椤惧????缁х画??宸辫?璇?锛???ystem.getProperty(??file.encoding??)寰??扮??缁?????ANSI_X3.4-1968锛?杩???涓?浠?涔???锛?涓?google?ヤ?涓?涓?锛??ㄦ??浜????ㄤ俊??锛?姝ゆ?舵??蹇???涓?绂???浜?????ND锛???棰???浜?涓ラ??????
褰?澶╁?颁???锛?????娌″?ョ???锛?宸茬?澶存??????锛?涓??冲????浜?锛?浣??卞ぇ??澶╂?堕?磋?娌℃??瀹?杩?涔?涓?涓???灏???棰???锛?瀹??ㄦ????浜?娌¢?㈠??锛?浜???????澶村?夸?璇?锛???澶╂??涓?瀹?瑙e?炽??
???板???锛??朵???楗?涓?棣???涓?QQ????锛?璺?涓?MM??浜????ワ???璇翠?澶╁ソ绱?锛?濂硅?存????澶╁??浠ュソ濂戒???涓?涓?????锛???澶╂??????锛???涓??稿??锛???锛???澶╁?ㄥ????锛????ヨ??澶╂敞瀹?瑕????ㄦ??????浜???
??涓?娌$?″ソ锛?璧锋?ュ????涓?椤挎?ワ?杩???娌″?ュソ??娉???
绗?浜?澶╋?11?规??璧峰?锛?璧锋?ョ??纰??㈡?″氨寮?濮?骞诧????d?缂?????ew String(str.getByte(??iso-8859-1??),??gbk??)杩??风??褰㈠?杩?琛?浜??ュ共涓?缁???锛?涓?琛?锛???涔???锛????版??涓?涓???martupload婧?????瑙e?冲??娉?锛?????寰?涓??虫?规?????锛???涓烘???″?ㄥ?ㄨ?绋?锛???娌℃??root甯??凤?淇??逛?绫绘??娉???????
杩?灞?涓?锛???formdata.jsp涓?<%@ page contentType=??text/html;charset=gb2312??>锛?????锛???涓?锛??峰??椤甸?㈣浆?????藉?姝e父?剧ず涓?????浣???锛?澶у?堕?界?ラ??锛?杩??峰??????????浠?涔?锛?formdta.jsp??娉??剧ず涓???锛?杩?涓???棰??撮?惧??浜?锛???涓???esponse.setContentType灞??跺?归〉?㈡病??浠讳?浣?????????ㄤ???
?堕?翠??圭?硅??伙???缁?浜??ㄦ??浜?锛???寮?濮?璇????昏?板?root??瀵???锛?璇?浜?涓?涓?锛?????灞??舵??瀵圭????OK锛?缁?浜???浠ュぇ灞??宠??浜???
?惰??锛?smartupload??婧???锛?灞??跺?涓?濂芥?撅???浜???澶╂病??????濂藉??缂?璇?浜?????el??缂?璇??烘?ョ??缁???璺???浜鸿?寸??杩?涓?涓??凤?灏卞???????逛?涓?涓?锛?
?惧??martUpload.java涓??? public void upload()锛???涓?涓?????tring charsetName锛?
?惧?拌???String s11 = new String(m_binArray, m_startData, (m_endData - m_startData) + 1);
淇??逛负String s11 = new String(m_binArray, m_startData, (m_endData - m_startData) + 1,charsetName);
缂?璇???涓?浼?锛???????璇?锛????版??浜?涓??硅?灞???
杩?灞?浜?锛??ㄥ?????拌?藉?姝g‘璇诲??浜?锛?
杩?????琛ㄥ??????妗?浼??煎??浠ヤ?锛?????浠跺??渚??舵??涔辩??锛????????句???澶╋?瀹??ㄤ??冲???诲??d釜smartupload??婧???浜?锛??界?朵唬??涓?澶?锛?浣?????杩?涔?寮?涔?澶??辨?堕?翠???锛?娉????瑙?寰??规???搴?璇ュ??浠ヨВ?抽??棰?锛?????娌℃???瑰??锛???浠跺???i?ㄥ????瑕?杩?琛?澶????????磋叮????浠ヨ??璇?锛? 杩??惰???舵?冲?颁??㈠?朵???涓?浼???锛???浜?涓?涓?锛???浜鸿??avazoom??涓???锛???涓?涓?涓??ュ??璇达?demo寰?绠???锛?
娴?璇?涔??????帮???瑕??ㄦ?ユ?堕〉??etdata.jsp涓?杞???灏卞??浠ヤ???杞????瑰?锛???浠ユ??涓?涓?涓????板????杞?锛?涔???浠ョ?ㄤ??ヨ??灏卞??浠ワ?request.setCharacterEncoding(??GBK??);???惰?????
MultipartFormDataRequest(request,null,100*1024*1024,MultipartFormDataRequest.COSPARSER,??GBK??);
杩?涓?uploadbean????????甯镐?璐达?灞??舵??渚?涓?涓?ChineseUpload.jsp渚?瀛?锛??跺??涓昏?灏辨??涓???袱?ヨ??涓?????
绛???淇??瑰??锛???瑙?宸?涓?澶????跺??锛?宸茬???娣卞?2?广???虫?炬?句?锛????″??璇淬??
?ㄦ?ワ?缁х画宸ヤ?锛????颁?涓??伴??棰?锛?uploadbean灞??朵??戒慨?逛?浼?????浠跺??锛?杩???涔?琛????????涓?绉??????规?锛?姣?涓???浠跺缓绔?涓?涓???褰?锛??跺???捐??婚?叉?㈤????锛?浣?杩????规?跺?锛???涓??存?ヨ??荤????浠跺??杩???涔辩??锛?杩??????村??锛?锛?锛?
杩?濂斤?????娆″???颁?UploadBean??浼?瓒??э????惧?颁?涓?涓?甯?瀛?锛?璇?ploadBean1.5????Filemover??浠ユ?瑰??锛?浜?????涓?浜?1.5??FileMover锛?FileMover涓???渚?瀛?涔?寰?璇??绠?????????璐村?
淇??癸?涓?浼?????锛?涓???OK!
???ワ??????扮郴缁?????涓??稿??UG锛?涓?榧?浣?姘?锛??ㄩ?ㄨВ?炽?? 杩?涓???灏???棰???锛?灞??惰?变????存?翠袱澶╃???堕?达???璋?浠ゆ???兼??锛????讹?涔??冲?拌??????风????????寮?浠?锛????藉??杞讳?涓?浣?浠??????????杩?涓ゅぉ灏辨病?藉共锛????板?ㄧ???e?锋??锛????惧?SmartUpload锛??ㄩ??娇??ploadBean??????杩???浜?涓?涓?Demo锛?浠ュ府?╃????????寮?浠?蹇???瑙e?抽??棰???
涓??????????????Demo????瑕???璧????炬?ラ?借创?ㄨ???锛?澶у?舵??浠?涔???棰???浠ュ?ㄨ???璺???浜ゆ??? 浜???UploadBean涓?浼?瑙e?虫?规?
婊℃?????帮?浜???
瀹???绋?搴??100锛?
Demo锛?
1.琛ㄥ??椤甸??ssformdata.jsp
<%@ 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">??浠?lt;/td>
<td class="bodystyle"> <input name="attach" type="FILE" id="attach" size="50" > </td>
<input name="ok" type= "submit" value="??浜?>
</form>
2.璇诲??琛ㄥ??椤甸??ssgetdata.jsp
??浠讹?UploadBean涓?浼?瀹?渚?
???斤?瑙e?充腑??涔辩??锛?瀹?????浠朵?浼?锛?骞舵??渚?涓?浼??瑰??瑙e?虫?规?
浣???锛?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,**,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???版?????g‘??璋?璇????跺??锛???涓???f (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 = ;
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
new String(s.getBytes(??ISO-8859-1??),??utf-8??);
[?????板??] (http://www.debugease.com/javaweb/647851.html)