Ⅰ javaWEB項目多個文件(如圖片)上傳,如何實現,有沒有什麼控制項
ajaxfileupload.js 頁面無刷新上傳 多文件上傳 自己試試吧
Ⅱ 如何使用第三方上傳插件web uploader的demo
要解決302問題也很簡單,就是html5的文件上傳,正好最近在ueditor里看到網路的webuploader,會自動選擇flash html5,就是一個成熟的解決方案了。
先看前端,我們將最常用的操作封裝為插件,asp.net中和MVC中最好使用相對於應用程序的絕對路徑,自行定義全局 applicationPath :var applicationPath = "@(Href("~")=="/"?"":Href("~"))";
前端插件代碼:
Ⅲ 求一個 WEB可斷點續傳的控制項,用於上傳大文件。
FlashFXP
Ⅳ 可以用web頁面實現上傳功能並管理上傳好的文件嗎
給點思路:
你上傳之後的文件應該是保存到文件系統中,然後在資料庫中存儲文件的路徑的吧!
如果是圖片你就可以在頁面使用img根據資料庫的圖片地址顯示,其他的如壓縮文件等,這些文件在頁面是無法顯示的,所以你只能只用個圖片,如果想刪除可以調用方法通過資料庫想到文件路徑然後刪除,在刪除資料庫的記錄就可以了!
Ⅳ javaWEB項目中如何實現批量選擇文件並上傳呢有什麼好的插件,最好有相關代碼例子
jquery.uploadify批量上傳控制項
[html]
<linkhref="styles/uploadify.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript"src="styles/uploadify.swf"></script>
<scripttype="text/javascript"src="javascripts/jquery.uploadify.min.js"></script>
<linkhref="styles/uploadify.css"rel="stylesheet"type="text/css"/>
<scripttype="text/javascript"src="styles/uploadify.swf"></script>
<scripttype="text/javascript"src="javascripts/jquery.uploadify.min.js"></script>還有jquery.js,你懂得!
這里注意哦,css文件會引用到這個圖片哦,所以請你指定這個圖片的位置哦,不然就沒有顯示這個叉叉哦,這個叉叉是刪除按鈕的哦,沒有就是空白哦!
[javascript]
<script>
functionsnedUpLoad(){
varpid=$("#entityId").val();//這個是我自己獲取的自定義參數
varentityName=$("#entityName").val();//同上
$("#uploadify").uploadify({//初始化uploadifyuploadify是input的id
//'debug':false,//bug模式,默認是false
'auto':false,//自動上傳,就是控制項自動上傳,默認是true
'multi':true,
//'successTimeout':99999,//超時時間
'formData':{'pid':pid,'entityName':entityName},//我的參數列表
//'fileObjName':'uploadify',//伺服器的屬性名字
'uploader':'你的後台url地址;jsessionid=${pageContext.session.id}',//提交伺服器路徑,這里
說明下;jsessionid=${pageContext.session.id},這個是用於非IE內核的瀏覽器兼容的
'swf':"styles/uploadify.swf",//flash文件,官方的文件,引用上就是了
//'uploader':'/Home/Upload',//文件保存路徑用處不大
'buttonText':'文件上傳',//按鈕
//'height':'32',//瀏覽按鈕的高度
//'width':'100',//瀏覽按鈕的寬度
'fileTypeDesc':'支持的格式:',//在瀏覽窗口底部的文件類型下拉菜單中顯示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',//允許上傳的文件後綴
'fileSizeLimit':'3MB',//上傳文件的大小限制
'queueSizeLimit':25,//上傳數量
'onSelectError':function(file,errorCode,errorMsg){//返回一個錯誤,選擇文件的時候觸發
switch(errorCode){
case-100:
alert("上傳的文件數量已經超出系統限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"個文件!");
break;
case-110:
alert("文件["+file.name+"]大小超出系統限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case-120:
alert("文件["+file.name+"]大小異常!");
break;
case-130:
alert("文件["+file.name+"]類型不正確!");
break;
}
},
'onFallback':function(){//檢測FLASH失敗調用
alert("您未安裝FLASH控制項,無法上傳圖片!請安裝FLASH控制項後再試。");
},
'onUploadSuccess':function(file,data,response){//上傳到伺服器,伺服器返回相應信息到data里
if(data){
vardataObj=eval("("+data+")");//轉換為json對象
//$('#uploadify').uploadify('upload')
}
}
});
}
</script>
<script>
functionsnedUpLoad(){
varpid=$("#entityId").val();//這個是我自己獲取的自定義參數
varentityName=$("#entityName").val();//同上
$("#uploadify").uploadify({//初始化uploadifyuploadify是input的id
//'debug':false,//bug模式,默認是false
'auto':false,//自動上傳,就是控制項自動上傳,默認是true
'multi':true,
//'successTimeout':99999,//超時時間
'formData':{'pid':pid,'entityName':entityName},//我的參數列表
//'fileObjName':'uploadify',//伺服器的屬性名字
'uploader':'你的後台url地址;jsessionid=${pageContext.session.id}',//提交伺服器路徑,這里
說明下;jsessionid=${pageContext.session.id},這個是用於非IE內核的瀏覽器兼容的
'swf':"styles/uploadify.swf",//flash文件,官方的文件,引用上就是了
//'uploader':'/Home/Upload',//文件保存路徑用處不大
'buttonText':'文件上傳',//按鈕
//'height':'32',//瀏覽按鈕的高度
//'width':'100',//瀏覽按鈕的寬度
'fileTypeDesc':'支持的格式:',//在瀏覽窗口底部的文件類型下拉菜單中顯示的文本
'fileTypeExts':'*.jpg;*.jpge;*.gif;*.png',//允許上傳的文件後綴
'fileSizeLimit':'3MB',//上傳文件的大小限制
'queueSizeLimit':25,//上傳數量
'onSelectError':function(file,errorCode,errorMsg){//返回一個錯誤,選擇文件的時候觸發
switch(errorCode){
case-100:
alert("上傳的文件數量已經超出系統限制的"+$('#file_upload').uploadify('settings','queueSizeLimit')+"個文件!");
break;
case-110:
alert("文件["+file.name+"]大小超出系統限制的"+$('#file_upload').uploadify('settings','fileSizeLimit')+"大小!");
break;
case-120:
alert("文件["+file.name+"]大小異常!");
break;
case-130:
alert("文件["+file.name+"]類型不正確!");
break;
}
},
'onFallback':function(){//檢測FLASH失敗調用
alert("您未安裝FLASH控制項,無法上傳圖片!請安裝FLASH控制項後再試。");
},
'onUploadSuccess':function(file,data,response){//上傳到伺服器,伺服器返回相應信息到data里
if(data){
vardataObj=eval("("+data+")");//轉換為json對象
//$('#uploadify').uploadify('upload')
}
}
});
}
</script>
[javascript]
$(function(){
snedUpLoad();//jquery容器載入完運行我們的函數
})
$(function(){
snedUpLoad();//jquery容器載入完運行我們的函數
})
[html]
<inputtype="file"name="uploadify"id="uploadify"/>//申明控制項的容器
<inputtype="file"name="uploadify"id="uploadify"/>//申明控制項的容器
前台頁面代碼基本就這樣了,很好明白,至於後台邏輯和普通上傳處理一致的,這里就不列出來的,最後上一張圖給大家鑒賞一下
(tip:其實他的批量上傳並不是一次全部提交處理的,他是一個一個依次提交,相當是一個for循環,所以後台處理的同時只是一個文件上傳,即排序的處理上傳文件,就和單個文件上傳的代碼一樣,如果你早有後台的單文件上傳代碼就不用改,直接調用就行了,可以共用)
Ⅵ 使用webuploader插件上傳圖片時如果正確 限制上傳數量
你要理解fileNumLimit的含義。fileNumLimit=總文件數-已經上傳的文件數。這就意味著你fileNumLimit設置為5的話,一次上傳6張是不行的,但是每次上傳1張,就能突破5張的限制。原因是插件在上傳完一個文件後,會把計數清零。你可以參考修改下面的代碼:
uploader.on('fileQueued',function(){
count++;
});
uploader.on('fileDequeued',function(){
count--;
});
uploader.on('uploadFinished',function(){
//注銷這段代碼就可以了count=0;
});
上面的代碼位於webuploader.js的L3809
Ⅶ WebOffice插件HttpAddPostCurrFile方法報錯
使用點聚WebOffice在線編輯word
Word編輯頁面
<%@page
contentType="text/html;charset=gbk"%> <% String imgpath =
request.getContextPath(); String basePath = request.getScheme() + "://" +
request.getServerName() + ":" + request.getServerPort() + imgpath;
String path = (String) request.getAttribute("filepath"); %> <meta
http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE=javascript> <!-- // 初始化控制項 function
WebOffice1_NotifyCtrlReady() { document.all.WebOffice1.OptionFlag |=
128;
document.all.WebOffice1.LoadOriginalFile("<%=basePath%>/getwordstream.jsp
filename=C:\\1.doc", "doc");
document.all.WebOffice1.SetToolBarButton2("Standard",1,0); } // 上傳文檔
function SaveDoc(fname,docType) { try{ var
webObj=document.getElementById("WebOffice1"); var returnValue;
webObj.HttpInit(); //初始化Http引擎 // 添加相應的Post元素
webObj.HttpAddPostString("fname", fname);
webObj.HttpAddPostString("DocType",docType);
webObj.HttpAddPostCurrFile("DocContent",""); // 上傳文件 returnValue =
webObj.HttpPost("<%=basePath%>/savewordstream.jsp"); // 判斷上傳是否成功
if("succeed" == returnValue){ alert("文件上傳成功!"); }else if("failed" ==
returnValue) alert("文件上傳失敗!"); return_onclick(); }catch(e){
//alert("異常\r\nError:"+e+"\r\nError Code:"+e.number+"\r\nError
Des:"+e.description); } } // 事件 function
WebOffice1_NotifyWordEvent(eventname) {
if(eventname=="DocumentBeforeSave"){ //SaveDoc('C:\\1.doc', 'doc');//
此處不能用,否則無法上傳, 不知原因 } } //--> </SCRIPT> <SCRIPT
LANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyCtrlReady> <!--
WebOffice1_NotifyCtrlReady(); //--> </SCRIPT> <SCRIPT
LANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyWordEvent(eventname)>
<!-- WebOffice1_NotifyWordEvent(eventname); //--> </SCRIPT>
</head> <body> <input type="button" value="保存"
onclick="SaveDoc('C:\\1.doc', 'doc')" /> <!-- 裝載Weboffice控制項 -->
<object id=WebOffice1 height='100%'
classid='clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5'
codebase='<%=imgpath%>/weboffice_v6.0.5.0.cab#Version=6,0,5,0'>
<param name='_ExtentX' value='6350'> <param name='_ExtentY'
value='6350'> </object> <!-- 結束裝載代碼 --> </body>
</html>
獲取word文件流jsp
<%@page contentType="text/html;charset=gbk"%> <%@page import="java.io.BufferedInputStream"%> <%@page import="java.io.FileInputStream"%>
<% String filename = request.getParameter("filename"); filename =
new String(filename.getBytes("iso-8859-1"), "utf-8"); try {
BufferedInputStream in = new BufferedInputStream( new
FileInputStream(filename)); java.io.OutputStream
outStream = response.getOutputStream(); byte[] buf = new byte[1024];
int bytes = 0; while ((bytes = in.read(buf)) != -1) outStream.write(buf,
0, bytes); in.close(); outStream.close(); } catch (Exception e) {
out.println(e.toString()); } %>
保存word文件流jsp
<%@
page contentType="text/html;charset=GB2312"%> <%@ page
import="java.io.*"%> <jsp:useBean id="mySmartUpload" scope="page"
class="com.jspsmart.upload.SmartUpload" /> <% try { // 初始化上傳組件
mySmartUpload.initialize(pageContext); mySmartUpload.upload(); //
獲取傳到表單記錄 String name = mySmartUpload.getRequest().getParameter("fname");
com.jspsmart.upload.File myFile = null; myFile =
mySmartUpload.getFiles().getFile(0); if (!myFile.isMissing()) {
java.io.File tfile = new java.io.File(name); if (tfile.exists()) {
tfile.delete(); } myFile.saveAs(name, mySmartUpload.SAVE_PHYSICAL); //
保存上傳文件 out.clear(); out.write("succeed");//返回控制項HttpPost()方法值。
out.flush(); } else throw new Exception("File is missing!!"); } catch
(Exception e) { out.clear(); out.write("failed");//返回控制項HttpPost()方法值。
out.flush(); } %>
Ⅷ web文件上傳能否對文件加密
您可以對用超級加密3000將文件加密後再上傳。
Ⅸ 做一個web項目,需要用到文件上傳,並且圖片顯示出來,用ajax上傳文件,並追加一個img
代碼比較多,只提供思路吧:
使用html的upload控制項選擇文件,當圖片被選中之後,ajax可以檢測到,這時就調用一個post方法把整個form表單提交到一個一般處理程序裡面,進行上傳操作。
上傳完成之後返回來一個標識,如果成功就同事把你存圖片的路徑也傳遞過來,,利用jquery的.html()方法拼接一個圖片的標簽,路徑就寫後台傳遞過來的路徑。然後通過css樣式來控制圖片大小,當然,你也可以寫個方法的生成縮略圖。
當然,網上有好多更簡單的方法,比如使用flash插件等,但是現在普遍的做法都是用戶先選擇圖片並不上傳,選擇多張圖片後再統一上傳,這個就有點復雜了,因為web端的upload控制項是無法獲取圖片的真實路徑的,要想生成縮略圖,藉助插件更方便,希望可以幫到你
Ⅹ 百度webuploader上傳插件 api提供uploader.removefile( )的方法怎麼無法移除隊列文件
我也想知道答案,探索中....