struts2視頻上傳文件
① struts2文件上傳
引入commons-fileupload 的jar包,頁面標簽是file類型。後台直接按前台標簽的名字按流讀取就行了。跟普通的上傳下載沒區別。
② 使用struts2如何實現文件上傳
新建Web Project,在WebRoot下新建upload文件夾
在WebRoot下新建upload.jsp,上傳界面
編寫上傳成功、失敗的提示界面。
在WebRoot下新建uploadError.jsp
在WebRoot下新建uploadSuccess.jsp
編寫Action類
配置struts.xml文件,重置fileUpload攔截器。
測試,測試完成之後在tomcat下面webapps目錄下找到項目對應的文件夾下的upload下查看
③ struts2中文件上傳問題
你要學會用debug模式來調試自己的代碼。把斷點設置在 String root = ServletActionContext.getRequest().getRealPath("/upload"); 可以一步步查看每個變數和屬性的值 ,這樣更容易找到問題。
這里你需要查看root 和 destfile的值 這樣很容易看出你得到的路徑是否為你想要設置的路勁。
也可以用system.out.println(root) 列印到控制台看一下。
④ struts2文件上傳和下載
1,上傳方法
(1),頁面form表單添加一個屬性為enctype="multipart/form-data" 和method="post"
(2),假設上傳預覽框為 <input type="file" name="myfile" />
(3),控制器接值的方法為
private File myfile; //要上傳的文件
private String myfileFileName; //要上傳文件名稱
private String myfileContentType; //要上傳文件類型
別忘了做set方法
(4), 接到值後可以保存到資料庫,也可以保存到硬碟,
>>1 保存到資料庫, 資料庫表中對應欄位要設置為BLOB類型
>>2 保存到硬碟代碼如下
InputStream in = new
FileInputStream( myfile);
OutputStream out = new
FileOutputStream( new File("d:\\upload\\"+myfileFileName));
byte[] buffer
= new byte[ in.available() ];
int ins =
in.read(buffer);//讀取位元組到buffer中
//ins == -1 時
。就已經是文件的結尾了
while ( ins !=
-1 ) {
out.write(buffer, 0, ins);//將緩存buffer中的數據寫到文件中
ins = in.read(buffer);
}
in.close();
out.flush();
out.close();
2,下載
(1), 把要下載的文件轉成一個輸入流InputStream
例如,利用hibernate取得一個文件,文件類型在實體類中為byte[]類型,
inputStream = new
ByteArrayInputStream(book.getMyfile);
其中inputStream 為全局變數,並且做setter和getter方法
(2),在控制器對應的action節點中(struts2配置文件中)添加一個result節點如下:
<result name="download" type="stream">
<param name="contentType">application/zip</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${myFileFileName}"</param>
<param name="bufferSize">1024</param>
</result>
這樣,就可以實現上傳和下載了.
⑤ struts2 如何通過ajax上傳文件
ajax是不能上傳文件的,一般做法是使用一個隱藏的iframe 來個傳,達到無刷新上傳的效果。
還有就是使用swf上傳控制項,swfUpload等
⑥ struts2 如何實現上傳整個文件夾的功能
一、壓縮文件其實是可以0壓縮率直接打包,這樣其實蠻快的
二、看到網上說Applet可以上傳文件夾,具體遠離不清楚,你可以看看
三、最笨的方法,用Ajax做一個遞歸遍歷文件夾的函數,如果是文件就上傳上去,如果是文件夾就請求後台新建文件夾
四、用JSON格式把目錄和文件封裝起來,統一傳到後台,但是後台處理要比較麻煩
⑦ struts2上傳文件的問題
你action中的msg可以傳到頁面的。
比如你在a.jsp中實現的上傳,可以增加如下js
<script>//jstl寫法
<c:if test="${!empty(msg)}">//判斷後台是否提供了提示信息
showMessage("${msg}");
</c:if>
</script>
然後在你的action中上傳完成後,再次跳轉到a.jsp頁面即可。
⑧ 如何用struts2上傳視頻
用上傳文件是可以的,不過你要對這個action使用的FileInterceptor的文件大小重新設置。這個局部的設置不影響全局只對此action有效。
⑨ struts2文件上傳出現錯誤,在文件上傳的時候,上傳doc和圖片都可以,當上傳音樂和視頻的時候老出錯
HTTP Status 404 - No result defined for action com.yisou.action.AddZiyuan and result input.這句已經說明了,你要在action加個<result name="input">你上傳表單的jsp</result>。在這定義了,會返回你的錯誤,可能是上傳大小限制的問題
⑩ struts2上傳文件問題
推薦你試試dwr方式:
var testsForm = new Ext.FormPanel({.....});
var pa = testsForm .getForm().getValues();獲取所有的值;
user_Dwr.saveUserInfo(pa,function(data){//dwr提交
向後台提交
});
後台:
public boolean saveUserInfo(Map queryParam){
//通過queryParam取得你傳過來formpanel的參數值
String NPerId = queryParam.get("'NPerId'");
}