jsp中怎樣判斷文件是否上傳
㈠ 請問jsp頁面如何能獲取到上傳文件的大小,我想通過獲取的大小,判斷該文件是否可以被上傳,請詳細點,謝謝
因許可權和安全限制,js是不能獲得本地文件大小的,除非安裝控制項。
jsp獲取上傳文件大小方法如下:
long size=request.getContentLength() ;
在文件准備上傳之前就可以得到其大小。
當然了,在客戶端基本上不大可能獲取大文件大小的,必須是文件提交上傳開始後,在服務端獲取得到的,request.getContentLength() ; 可以在接受數據流之前就可以獲得當前要上傳的文件流大小。 這樣你可以在服務端控制文件上傳之前是否允許繼續接受數據流。
㈡ 用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 input file 判斷有沒有上傳文件
判斷這個file的value
========
如何判斷:request 中取到這個file,看是否有值
㈣ jsp 如何實現文件上傳和下載功能
上傳:
MyjspForm mf = (MyjspForm) form;// TODO Auto-generated method stub
FormFile fname=mf.getFname();
byte [] fn = fname.getFileData();
OutputStream out = new FileOutputStream("D:\"+fname.getFileName());
Date date = new Date();
String title = fname.getFileName();
String url = "d:\"+fname.getFileName();
Upload ul = new Upload();
ul.setDate(date);
ul.setTitle(title);
ul.setUrl(url);
UploadDAO uld = new UploadDAO();
uld.save(ul);
out.write(fn);
out.close();
下載:
DownloadForm downloadForm = (DownloadForm)form;
String fname = request.getParameter("furl");
FileInputStream fi = new FileInputStream(fname);
byte[] bt = new byte[fi.available()];
fi.read(bt);
//設置文件是下載還是打開以及打開的方式msdownload表示下載;設置字湖集,//主要是解決文件中的中文信息
response.setContentType("application/msdownload;charset=gbk");
//文件下載後的默認保存名及打開方式
String contentDisposition = "attachment; filename=" + "java.txt";
response.setHeader("Content-Disposition",contentDisposition);
//設置下載長度
response.setContentLength(bt.length);
ServletOutputStream sos = response.getOutputStream();
sos.write(bt);
return null;
㈤ 如何用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>
㈥ jsp如何實現文件上傳與下載
如果伺服器端程序使用的是struts2框架的話,我會,其他的不會。
struts2:
對於上傳,jsp頁面只需要有個file類型的表單域,如<input type="file" name="xxx" />
struts2的接收請求的action中再寫三個屬性與這個表單域的名稱對應起來,他們是,File類型的xxx,String類型的xxxFileName,String類型的xxxContentType,並其設置相應的set/get方法。則框架負責接收上傳文件的位元組流,解析文件名,文件類型,直接使用即可。
對於下載,只需要在action的配置文件中設置如下返回值類型和相應參數:
<result type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename=xxx </param> xxx為下載文件的文件名
</result>
且在action總寫一個返回值類型為InputStream的getInputStream方法,此方法返回你要下載的文件的流即可。
ps:其中contentDisposition的配置信息中attachment代表點擊下載時瀏覽器先彈出個保存位置的提示框,然後再決定是否下載,默認是inline,即直接打開文件。
㈦ 關於jsp 文件上傳。
首先你要排查一下錯誤。
1.debug 看一下 file是否傳到了後台 是否是null
是null請檢查前台請求問題,不是null 看一下 獲取的filename是不是null
2.圖片路徑 根據提示 到盤符中查看是否有此路徑,沒有的話 手動建立文件夾或者通過代碼創建
㈧ jsp 上傳前能否先判斷文件是否符合大小和格式限制啊
Connection conn = DataBase.getConnection();
ProctDAO proctDao = new ProctDAO();
CategoryDAO categoryDao = new CategoryDAO();
categoryDao.setConn(conn);
Proct proct = new Proct();
proctDao.setConn(conn);
//上傳文件
SmartUpload upload = new SmartUpload();
// 上傳初始化
upload.initialize(this.getServletConfig(), request, response);
// 設定上傳限制
// 1.限制每個上傳文件的最大長度。
upload.setMaxFileSize(1000000);
// 2.限制總上傳數據的長度。
upload.setTotalMaxFileSize(10000000);
// 3.設定允許上傳的文件(通過擴展名限制),僅允許gif.jpg文件。
upload.setAllowedFilesList("gif,jpg");
// 4.設定禁止上傳的文件(通過擴展名限制),禁止上傳帶有exe,bat,
// jsp,htm,html擴展名的文件和沒有擴展名的文件。
upload.setDeniedFilesList("exe,bat,jsp,htm,html");
//上傳文件
upload.upload();
//利用request對象獲取參數,接參
這個是我們用的upload 老師上課給的例子 下面代碼就不給出了 都一樣
㈨ 如何在一個servlet中判斷是否有文件被上傳
由於上傳文件的數據格式變為multipart/form-data,所以使用標準的request對象是不行的,如果你必須在jsp中判斷是否有這個文件,需要做一些工作。
㈩ jsp 中文件上傳
給你解釋一下其中的原理你應該就明白了,前台用戶界面選擇文件後開始非同步上傳文件至伺服器端你指定的文件位置,然後伺服器端識別文件是否結束,結束了就把文件名記錄在你的資料庫中,這樣你在讀取的時候再通過伺服器文件名,將地址傳給用戶界面。大概就是這個樣子。具體的實現,可以找一下這個插件commons-fileupload jar包和commons-io jar
還有什麼其他問題可以wx找shenbeihutong,直接問我