aja的異步上傳插件

php中世界最好的语言
發布: 2018-03-15 17:38:17
原創
1452 人瀏覽過

這次帶給大家aja的非同步上傳插件,使用aja的非同步上傳插件的注意事項有哪些,下面就是實戰案例,一起來看一下。

本文實例為大家分享了ajaxfileupload非同步上傳外掛程式的使用方法,供大家參考,具體內容如下

伺服器端採用struts2來處理檔案上傳

所需環境:
jquery.js
ajaxfileupload.js
struts2所依賴的jar套件
及struts2-json-plugin-2.1.8.1.jar

#編寫檔案上傳的Action

package com.ajaxfile.action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; @SuppressWarnings("serial") public class FileAction extends ActionSupport { private File file; private String fileFileName; private String fileFileContentType; private String message = "你已成功上传文件"; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public File getFile() { return file; } public void setFile(File file) { this.file = file; } public String getFileFileName() { return fileFileName; } public void setFileFileName(String fileFileName) { this.fileFileName = fileFileName; } public String getFileFileContentType() { return fileFileContentType; } public void setFileFileContentType(String fileFileContentType) { this.fileFileContentType = fileFileContentType; } @SuppressWarnings("deprecation") @Override public String execute() throws Exception { String path = ServletActionContext.getRequest().getRealPath("/upload"); try { File f = this.getFile(); if(this.getFileFileName().endsWith(".exe")){ message="对不起,你上传的文件格式不允许!!!"; return ERROR; } FileInputStream inputStream = new FileInputStream(f); FileOutputStream outputStream = new FileOutputStream(path + "/"+ this.getFileFileName()); byte[] buf = new byte[1024]; int length = 0; while ((length = inputStream.read(buf)) != -1) { outputStream.write(buf, 0, length); } inputStream.close(); outputStream.flush(); } catch (Exception e) { e.printStackTrace(); message = "对不起,文件上传失败了!!!!"; } return SUCCESS; } }
登入後複製

struts.xml

       text/html     text/html     
登入後複製

注意結合Action觀察struts.xml中result的設定。

contentType參數是一定要有的,否則瀏覽器總是提示將傳回的JSON結果另存為文件,不會交給ajaxfileupload處理。這是因為struts2 JSON Plugin預設的contentType是application/json,而ajaxfileupload則要求為text/html。

檔案上傳的jsp頁面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>     Insert title here    

登入後複製

注意觀察中的程式碼,並沒有form表單。只是在按鈕點擊的時候觸發ajaxFileUpload()方法。要注意的是js檔案引入的先後順序,ajaxfileupload.js依賴jquery因此你知道的。

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

怎麼用jQuery驗證表單密碼的一致性

Ajax怎麼實作下拉方塊無刷新連動

jQuery實作下拉選單導覽

#jQuery取得DIV屬性並且綁定CheckBox

#done和then的差別

#

以上是aja的異步上傳插件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn