導航:首頁 > 編程語言 > java文件上傳組件

java文件上傳組件

發布時間:2023-03-12 16:50:44

java ftp上傳5G以上大文件,怎麼做

java上傳可以使用common-fileupload上傳組件的。common-fileupload是jakarta項目組開發的一個功能很強大的上傳文件組件下面先介紹上傳文件到伺服器(多文件上傳):import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.util.regex.*;
import org.apache.commons.fileupload.*;
public class upload extends HttpServlet {
private static final String CONTENT_TYPE = "text/html; charset=GB2312";
//Process the HTTP Post request
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
PrintWriter out=response.getWriter();
try {
DiskFileUpload fu = new DiskFileUpload();
// 設置允許用戶上傳文件大小,單位:位元組,這里設為2m
fu.setSizeMax(2*1024*1024);
// 設置最多隻允許在內存中存儲的數據,單位:位元組
fu.setSizeThreshold(4096);
// 設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄
fu.setRepositoryPath("c:\\windows\\temp");
//開始讀取上傳信息
List fileItems = fu.parseRequest(request);
// 依次處理每個上傳的文件
Iterator iter = fileItems.iterator();//正則匹配,過濾路徑取文件名
String regExp=".+\\\\(.+)$";//過濾掉的文件類型
String[] errorType={".exe",".com",".cgi",".asp"};
Pattern p = Pattern.compile(regExp);
while (iter.hasNext()) {
FileItem item = (FileItem)iter.next();
//忽略其他不是文件域的所有表單信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result){
for (int temp=0;temp if (m.group(1).endsWith(errorType[temp])){
throw new IOException(name+": wrong type");
}
}
try{//保存上傳的文件到指定的目錄//在下文中上傳文件至資料庫時,將對這里改寫
item.write(new File("d:\\" + m.group(1))); out.print(name+" "+size+"
");
}
catch(Exception e){
out.println(e);
} }
else
{
throw new IOException("fail to upload");
}
}
}
}
catch (IOException e){
out.println(e);
}
catch (FileUploadException e){
out.println(e);
}

}
}

Ⅱ java web斷點續傳,我用的是fileupload來做的上傳。

使用Struts2上傳文件:

Struts文件上傳需要使用File Upload Filter。Filter Upload Filter使用一些默認的規則:

Form中的<s:file name="image"></s:file>標簽對應著Action類中的三個屬性分別是:上傳文件(java.io.File類型),文件名(java.lang.String類型),文件類型(java.lang.String類型,例如:image/jpeg)。命名規約為:

文件:名字與<s:file>標簽中的name屬性一致,這里為:image

文件名:文件 + FileName,這里為:imageFileName

文件類型:文件 + ContentType,這里為:imageContentType

所以針對上述<s:file name="image"></s:file>表示啊的上傳文件的JSP和Action類被別為:

imageUpload.jsp:

[html]view plain

Ⅲ Java中如何圖片非同步上傳

在java中要實現非同步上傳要提前做好准備,對於文件上傳,瀏覽器在上傳的過程中是將文件以流的形式提交到伺服器端的,如果直接使用Servlet獲取上傳文件的輸入流然後再解析裡面的請求參數是比較麻煩,所以一般選擇採用apache的開源工具common-fileupload這個文件上傳組件。
這個common-fileupload上傳組件的jar包可以去apache官網上面下載,也可以在struts的lib文件夾下面找到,struts上傳的功能就是基於這個實現的。
common-fileupload是依賴於common-io這個包的,所以還需要下載這個包。剩下的就是js文件的導入了,我導入了以下文件:
<script type="text/javascript" src="lib/Js/jquery.js"></script>
<script ltype="text/javascript" src="/js/ajaxfileupload.js"></script>

在頁面中的寫法:
div class="controls"><span class="btn green fileinput-button"><i class="icon-plus icon-white"></i>
<span>上傳照片</span>
<input id="fileToUpload" name="myfiles" type="file" onchange="upload()" title="上傳" /></span>
</div>function upload(){
$.ajaxFileUpload
(
{
url:'<%=basePath%>sysperson/uploadpic',
secureuri:false,
fileElementId:'fileToUpload',
dataType: 'text',
success: function (data, status)
{
document.all.mypic.src="<%=basePath%>uploads/" + data;
document.all.picpath.value = data;
}, error : function(data, status, e) {
alert(e);
}
});
}

閱讀全文

與java文件上傳組件相關的資料

熱點內容
php實現多繼承 瀏覽:677
linux的python目錄文件 瀏覽:90
國內雲伺服器價格申請注冊 瀏覽:280
旅行攝影pdf 瀏覽:69
為什麼開不了允許app跟蹤 瀏覽:225
qq群中如何將文件移至文件夾 瀏覽:108
java下載文件的文件名 瀏覽:460
神奇寶貝我的世界電腦版伺服器地址 瀏覽:4
shellls命令 瀏覽:762
軍用壓縮餅干怎麼吃 瀏覽:939
人道pdf 瀏覽:611
分類視覺演算法 瀏覽:257
android彈出鍵盤位置 瀏覽:451
安卓怎麼下載愛思助 瀏覽:985
安卓機的呼叫怎麼開啟 瀏覽:355
騰訊伺服器硬碟什麼價 瀏覽:841
交換機關閉所有埠命令 瀏覽:91
程序員可以開網店嗎 瀏覽:115
演算法工程師面試經驗 瀏覽:686
有什麼好用的陪聊app 瀏覽:698