jspsmart実装ページアップロードとダウンロードファイルをジャンプしない(一)
6017 ワード
jspsmartは多くの人が使ったことがありますが、名手も雲のように多く、ネット上の資料はさらに空を飛んでいますが、私のこの初心者の菜鳥に対して、ファイルのアップロードとダウンロードを座って、感触はまだ深くて、多くのものがここで沈殿する必要があります.自分のためにも、私のような菜鳥のためにも.
バックグラウンドactionを歩きたくない場合は、jspを直接使用してファイルのアップロードダウンロードを完了するには、jspsmartが最高のツールです.ここでは、ファイルのアップロードから始めましょう.1、ネット上でjspsmart.jarをダウンロードして、工事のclasspathの下に入れて、ここで詳しく話しません.
2、ファイルアップロードページがジャンプしない機能を実現するために、ここではページにiframeを追加し、iframeに別のjspを導入しました.このjspにはformが含まれています.以下のiframeの内容です.
jspsmartに関する資料は、この中のAPIを参考にしてください.http://www.blogjava.net/renyangok/articles/51362.html
バックグラウンドactionを歩きたくない場合は、jspを直接使用してファイルのアップロードダウンロードを完了するには、jspsmartが最高のツールです.ここでは、ファイルのアップロードから始めましょう.1、ネット上でjspsmart.jarをダウンロードして、工事のclasspathの下に入れて、ここで詳しく話しません.
2、ファイルアップロードページがジャンプしない機能を実現するために、ここではページにiframeを追加し、iframeに別のjspを導入しました.このjspにはformが含まれています.以下のiframeの内容です.
<iframe src="<%=path%>/service/communication/bulletinIssueAttach.jsp" name="attach" width="680" height="80" scrolling="no"
frameborder="0" align="left" >
</iframe>
bulletinsueAttach.jspにformが存在し、formの内容は簡単にfileタイプのコントロールであり、内容は以下の通りである.<body>
<div class="right_middle_function">
<div class="content_step1" style="border: none;margin: 0px;">
<table border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td height="45" align="left" style="border: none;margin: 0px;border-bottom: none;">
<form action="<%=path%>/service/communication/bulletinIssueUpload.jsp" method="post" enctype="multipart/form-data" name="form1" target="_self">
<ul style="border: none; ">
<li style="width:40px;"> :</li>
<li style="width:100px;"><input type="file" name="filename" width="1" size="25"></li>
<li style="width:100px;"><input type="submit" name="Submit" value=" "> </li>
</ul>
</form>
</td>
</tr>
</table>
<div class="clearfloat"></div>
</div>
<div class="clearfloat"></div>
</div>
</body>
「添付ファイルのアップロード」をクリックすると、フォームはbulletinIssueUpload.jspに送信されますが、bulletinIssueUpload.jspでは主にjspsmartの処理ファイルのアップロードの論理が次のようになります.<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.io.*"%>
<%@page import="java.io.File"%>
<%@page import="com.jspsmart.upload.*"%>
<%@page import="java.util.*"%>
<%@page import="jxl.*"%>
<%
String myFileName = "";
String saveurl = "";
SmartUpload mySmartUpload = new SmartUpload();
long file_size_max = 1048576*10;
String ext = "";
String url = "\\upload\\";
//
mySmartUpload.initialize(pageContext);
//
try {
mySmartUpload.setAllowedFilesList("txt,TXT,xls,XLS,xlsx,doc,docx");//
//
mySmartUpload.upload();
} catch (Exception e) {
%>
<SCRIPT language=javascript>
alert(" txt,xls,xlsx,doc,docx !");
history.back();
</script>
<%
}
try {
com.jspsmart.upload.File myFile = mySmartUpload.getFiles()
.getFile(0);
if (myFile.isMissing()) {
%>
<SCRIPT language=javascript>
alert(" ");
history.back();
</script>
<%
} else {
myFileName = myFile.getFileName(); //
ext = myFile.getFileExt(); //
int file_size = myFile.getSize(); //
if (file_size < file_size_max) {
saveurl = application.getContextPath() + url;
if (new File(saveurl).exists() == false) {
new File(saveurl).mkdirs();// ,
}
saveurl += myFileName; //
myFile.saveAs(saveurl, SmartUpload.SAVE_PHYSICAL);
saveurl=saveurl.replace("\\","\\\\");
java.io.File outfile = new java.io.File(saveurl);
FileReader fr = new FileReader(outfile);
BufferedReader br = new BufferedReader(fr);
String line = br.readLine();
while (line != null) {
try {
Map<String, String> extenalAttrs = new HashMap<String, String>();
// , ,
line = line.trim() + "\
";
String[] cols = line.split("\\|");
} catch (Exception e) {
%>
alert(" , :<%=e.getMessage() %>");
<%
}
line = br.readLine();
}
br.close();
fr.close();
%>
<SCRIPT language=javascript>
alert(" <%=myFileName%> !");
parent.document.getElementById("attachRealPath").value='<%=saveurl%>';
history.back();
//parent.submitData('<%=saveurl%>');
</script>
<%
} else {
%>
<SCRIPT language=javascript>
alert(" , 10MB");
</script>
<%
}
}
} catch (Exception e) {
%>
alert(" , :<%=e.getMessage() %>");
<%
}
%>
このようにファイルをアップロードすると、ページのジャンプはiframeでのみ行われ、ホームページにはジャンプはありません.ここまでファイルのアップロードに成功しました.中国語の文字化けしを防ぐには、画面上で必ずcontentType="text/html;charset=UTF-8"に設定してください.jspsmartに関する資料は、この中のAPIを参考にしてください.http://www.blogjava.net/renyangok/articles/51362.html