當前位置:首頁 » 文件管理 » jsp上傳組件

jsp上傳組件

發布時間: 2022-07-20 09:29:23

⑴ 在jsp中使用smartupload組件上傳文件,怎麼做啊,有例子嗎

<%@ page language="java" contentType="text/html; charset=GB2312" pageEncoding="GB2312"%>
<%@ page language="java" import="java.io.*"%>
<%@ page language="java" import="com.jspsmart.upload.*"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<title>文件上傳Bean</title>
</head>
<body>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<FORM METHOD="POST" ACTION="Ex7_7.jsp" ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="FILE1" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE2" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE3" SIZE="50"><BR>
<INPUT TYPE="FILE" NAME="FILE4" SIZE="50"><BR>
<INPUT TYPE="SUBMIT" VALUE="Upload">
</FORM>
<%
//上傳文件計數
int count=0;
//初始化,傳入pageContext內置變數
mySmartUpload.initialize(pageContext);
//允許上傳的文件類型
mySmartUpload.setAllowedFilesList("htm,html,txt,jar,");

//或者設定拒絕上傳的文件類型
// mySmartUpload.setDeniedFilesList("exe,bat,jsp");

// 拒絕的物理路徑
// mySmartUpload.setDenyPhysicalPath(true);

// 設置文件最大為 50000 bytes
mySmartUpload.setMaxFileSize(50000);

// 允許一次最多上載文件大小不超過 200000 bytes
// mySmartUpload.setTotalMaxFileSize(200000);
try {
// 上傳操作
mySmartUpload.upload();
//以原文件名存儲在web伺服器虛擬路徑下
//返回上傳的文件數
count = mySmartUpload.save("/Upload", mySmartUpload.SAVE_VIRTUAL);
} catch (Exception e){
//輸出意外信息
out.println("<b>Wrong selection : </b>" + e.toString());
}
// 顯示文件上載數
out.println(count + " file(s) uploaded.");
%>
</body>
</html>

⑵ jsp上傳組件jspSmartFile的問題

com.jspsmart.upload.File file = (com.jspsmart.upload.File)su.getFiles().getFile(i);
這樣寫看看行不行

⑶ jspSmartUpload組件實現上傳文件問題(正解追加50分)

參考這個.
SmartUpload mySmartUpload =new SmartUpload();
String deviceId =Sequence.getInstance().getSeqNumber("deviceInf");

// 初始化
final String upFileType="jpg|JPG|GIF|gif|bmp|BMP"; //上傳文件類型
final int MAXFILESIZE=100000; //上傳文件大小限制
String errMsg=null; //錯誤信息
boolean err=false; //錯誤標志
int fileSize=0; //文件大小
String url="images/"; //應保證在根目錄中有此目錄的存在
String fileName = "";
String fileType ="";
String normalPicName = deviceId+"n";
String alarmPicName = deviceId+"a";
mySmartUpload.initialize(pageContext);

// 上傳文件
mySmartUpload.upload();

//判斷將要上傳文件的總容量是否超過上限
int count = mySmartUpload.getSize();
if(count>MAXFILESIZE){
out.print ("<script>alert('上傳失敗!文件大小:"+count/1024+"K超出了限定的范圍(最大"+ MAXFILESIZE/1024+"K)');this.history.go(-1);</script>");
//response.sendRedirect("http://127.0.0.1:8080/javastudy/upload.htm");
}

// 循環取得上傳所有文件
else{
for(int i=0;i<mySmartUpload.getFiles().getCount();i++){
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);

if (!myFile.isMissing()) {
String myFileName=myFile.getFileName();//得到文件名
//out.println(myFileName);
//if(myFileName.length()>0){ //取得不帶後綴的文件名
//String subFileName=myFileName.substring(0,myFileName.lastIndexOf('.'));
//}
fileType=myFile.getFileExt();//得到文件擴展名
fileType=fileType.toLowerCase(); //將擴展名轉換成小寫
if (upFileType.indexOf(fileType)==-1){
err=true;
errMsg="文件"+myFileName+"上傳失敗!只允許上傳以下格式的文件:"+upFileType;
}
//得到單個文件大小
//fileSize+=myFile.getSize();
//if (err==false&&fileSize>MAXFILESIZE){
// err=true;
// errMsg="上傳失敗!文件大小超出了限定的范圍(最大"+MAXFILESIZE/1024+"K)";
//}

if(err==false){
//取得路徑
//String adss=getServletContext().getRealPath("/")+"JSP\\";
//String trace=adss+myFileName;
//保存文件
//String newFileName="001."+fileType; //可自動生成文件名以防止同名覆蓋
//myFile.saveAs(trace);
//myFile.saveAs("enterprise/images/"+myFileName);
Calendar calendar = Calendar.getInstance();
fileName = String.valueOf(calendar.getTimeInMillis());
if(i<=0){
normalPicName=normalPicName+"."+fileType;
String saveurl=request.getRealPath("/")+url;
saveurl+=normalPicName; //保存路徑
myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
}
else{
alarmPicName=alarmPicName+"."+fileType;
String saveurl=request.getRealPath("/")+url;
saveurl+=alarmPicName; //保存路徑
myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);
}
}else{
out.print ("<script>alert('"+errMsg+"');this.history.go(-1);</script>");
}
}
}

⑷ 用jsp 怎樣實現文件上傳

你下載一個jspsmart組件,網上很容易下到,用法如下,這是我程序的相關片斷,供你參考: <%@ page import="com.jspsmart.upload.*" %>
<jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<%
String photoname="photoname";

// Variables
int count=0; // Initialization
mySmartUpload.initialize(pageContext); // Upload
mySmartUpload.upload();

for (int i=0;i<mySmartUpload.getFiles().getCount();i++){ // Retreive the current file
com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i); // Save it only if this file exists
if (!myFile.isMissing()) {
java.util.Date thedate=new java.util.Date();
java.text.DateFormat df = new java.text.SimpleDateFormat("yyyy-MM-dd-HH-mm-ss");
photoname = df.format(thedate);
photoname +="."+ myFile.getFileExt();
myFile.saveAs("/docs/docimg/" + photoname);
count ++; } }
%>
<% String title="1";
String author="1";
String content="1";
String pdatetime="1";
String topic="1";
String imgintro="1";
String clkcount="1"; if(mySmartUpload.getRequest().getParameter("title")!=null){
title=(String)mySmartUpload.getRequest().getParameter("title");
title=new String(title.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("author")!=null){
author=(String)mySmartUpload.getRequest().getParameter("author");
author=new String(author.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("content")!=null){
content=(String)mySmartUpload.getRequest().getParameter("content");
content=new String(content.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("pdatetime")!=null){
pdatetime=(String)mySmartUpload.getRequest().getParameter("pdatetime");
}
if(mySmartUpload.getRequest().getParameter("topic")!=null){
topic=(String)mySmartUpload.getRequest().getParameter("topic");
}
if(mySmartUpload.getRequest().getParameter("imgintro")!=null){
imgintro=(String)mySmartUpload.getRequest().getParameter("imgintro");
imgintro=new String(imgintro.getBytes("gbk"),"ISO-8859-1");
}
if(mySmartUpload.getRequest().getParameter("clkcount")!=null){
clkcount=(String)mySmartUpload.getRequest().getParameter("clkcount");
}
//out.println(code+name+birthday);
%>

⑸ jsp編程中比較好的上傳下載組件有哪些,除了jspSmartUpload以外。

JSP中常用的文件上傳組件有SmartUpload和apache commons的FileUpload,功能做得非很強大,使用起來也不是很麻煩

⑹ 如何通過JSP組件commons-fileupload實現文件上傳功能

一.准備需要上傳的磁碟文件
文件准備就不用說了,先建立一個jsp,此jsp負責用戶上傳文件。此jsp中有一form表單,此表單有三個特點,或者是說文件上傳的三個前提。

a、表單的method必須是post
b、表單的enctype屬性必須是multipart/form-data
c、表單中提供<inputtype="file"/>類型的上傳輸入域

⑺ JspSmartUpload上傳組件有哪些特點

SmartUpload 是一個免費的上傳下載組件,好像早已經停止開發了。

SmartUpload.jar:我找到的最好的一個jar包,對於編碼為GBK的,完全支持中文名文件的上傳與下載;但對於UTF-8的,中文名上傳可以,但中文名下載還是亂碼。

這個組件,小項目用用還行,對於大項目,不建議使用。比較常用的有:commons-fileupload等,而且許多框架都集成了上傳下載功能,如Struts 1/ Struts 2

另外,注意一點:由於smartupload是把文件全部緩存到內存里,所以上傳大文件或多文件時就有可能出錯,建議一般不要超過20M,個數也不要太多

⑻ jsp上傳組件 jspsmartupload 路徑問題

smart.initialize(pageContext) ;
// 2、准備上傳
smart.upload() ;
// 3、保存上傳的文件
//這里就是相對路徑 在當前目錄下的UPLOAD文件夾
smart.save("/upload") ;

⑼ jsp怎麼上傳文件

上傳文件程序應用示例
<form action="doUpload.jsp" method="post" enctype="multipart/form-data">
<%-- 類型enctype用multipart/form-data,這樣可以把文件中的數據作為流式數據上傳,不管是什麼文件類型,均可上傳。--%>
請選擇要上傳的文件<input type="file" name="upfile" size="50">
<input type="submit" value="提交">
</form>
</body>
</html>
doUpload.jsp
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.io.*"%>
<%@ page import="java.util.*"%>
<%@ page import="javax.servlet.*"%>
<%@ page import="javax.servlet.http.*"%>
<html><head><title>upFile</title></head>
<body bgcolor="#ffffff">
<%
//定義上載文件的最大位元組
int MAX_SIZE = 102400 * 102400;
// 創建根路徑的保存變數
String rootPath;
//聲明文件讀入類
DataInputStream in = null;
FileOutputStream fileOut = null;
//取得客戶端的網路地址
String remoteAddr = request.getRemoteAddr();
//獲得伺服器的名字
String serverName = request.getServerName();

//取得互聯網程序的絕對地址
String realPath = request.getRealPath(serverName);
realPath = realPath.substring(0,realPath.lastIndexOf("\\"));
//創建文件的保存目錄
rootPath = realPath + "\\upload\\";
//取得客戶端上傳的數據類型
String contentType = request.getContentType();
try{
if(contentType.indexOf("multipart/form-data") >= 0){
//讀入上傳的數據
in = new DataInputStream(request.getInputStream());
int formDataLength = request.getContentLength();
if(formDataLength > MAX_SIZE){
out.println("<P>上傳的文件位元組數不可以超過" + MAX_SIZE + "</p>");
return;
}
//保存上傳文件的數據
byte dataBytes[] = new byte[formDataLength];
int byteRead = 0;
int totalBytesRead = 0;
//上傳的數據保存在byte數組
while(totalBytesRead < formDataLength){
byteRead = in.read(dataBytes,totalBytesRead,formDataLength);
totalBytesRead += byteRead;
}
//根據byte數組創建字元串
String file = new String(dataBytes);
//out.println(file);
//取得上傳的數據的文件名
String saveFile = file.substring(file.indexOf("filename=\"") + 10);
saveFile = saveFile.substring(0,saveFile.indexOf("\n"));
saveFile = saveFile.substring(saveFile.lastIndexOf("\\") + 1,saveFile.indexOf("\""));
int lastIndex = contentType.lastIndexOf("=");
//取得數據的分隔字元串
String boundary = contentType.substring(lastIndex + 1,contentType.length());
//創建保存路徑的文件名
String fileName = rootPath + saveFile;
//out.print(fileName);
int pos;
pos = file.indexOf("filename=\"");
pos = file.indexOf("\n",pos) + 1;
pos = file.indexOf("\n",pos) + 1;
pos = file.indexOf("\n",pos) + 1;
int boundaryLocation = file.indexOf(boundary,pos) - 4;
//out.println(boundaryLocation);
//取得文件數據的開始的位置
int startPos = ((file.substring(0,pos)).getBytes()).length;
//out.println(startPos);
//取得文件數據的結束的位置
int endPos = ((file.substring(0,boundaryLocation)).getBytes()).length;
//out.println(endPos);
//檢查上載文件是否存在
File checkFile = new File(fileName);
if(checkFile.exists()){
out.println("<p>" + saveFile + "文件已經存在.</p>");
}
//檢查上載文件的目錄是否存在
File fileDir = new File(rootPath);
if(!fileDir.exists()){
fileDir.mkdirs();
}
//創建文件的寫出類
fileOut = new FileOutputStream(fileName);
//保存文件的數據
fileOut.write(dataBytes,startPos,(endPos - startPos));
fileOut.close();
out.println(saveFile + "文件成功上載.</p>");
}else{
String content = request.getContentType();
out.println("<p>上傳的數據類型不是multipart/form-data</p>");
}
}catch(Exception ex){
throw new ServletException(ex.getMessage());
}
%>
</body>
</html>

熱點內容
鸚鵡linux 發布:2025-01-25 03:44:02 瀏覽:196
python如何拋出異常 發布:2025-01-25 03:40:27 瀏覽:984
更新成本演算法 發布:2025-01-25 03:38:09 瀏覽:115
我的世界在伺服器裡面用toolbox 發布:2025-01-25 03:38:09 瀏覽:566
學編程不想學了 發布:2025-01-25 03:36:51 瀏覽:379
如何壓縮0 發布:2025-01-25 03:36:49 瀏覽:794
伺服器主板和家用電腦主板的區別 發布:2025-01-25 03:36:47 瀏覽:893
查詢資料庫連接數 發布:2025-01-25 03:36:41 瀏覽:976
安卓鎖屏切換在哪裡 發布:2025-01-25 03:30:56 瀏覽:220
aspx代碼加密 發布:2025-01-25 03:28:09 瀏覽:925