ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryのajaxfileupload非同期アップロードプラグイン(プロジェクトコード付き)_jquery

jqueryのajaxfileupload非同期アップロードプラグイン(プロジェクトコード付き)_jquery

WBOY
WBOYオリジナル
2016-05-16 17:36:301056ブラウズ
クリックしてプロジェクト コードをダウンロードしてください
プロジェクトの要件により、ファイルのアップロードを処理する際にはファイルの非同期アップロードを使用する必要があります。 Jquery Ajax File Uploader コンポーネントのダウンロード アドレスはここで使用されます: http://www.phpletter.com/download_project_version.php?version_id=6
サーバーは struts2 を使用してファイルのアップロードを処理します。
必要な環境:
jquery.js
ajaxfileupload.js
struts2が依存するjarパッケージ
とstruts2-json-plugin-2.1.8.1.jar
ファイルアップロードアクションの書き込み
コードをコピーします コードは次のとおりです。

package com.ajaxfile.action; >インポート java.io.File;
インポート java.io.FileOutputStream;
インポート org.apache.struts2.ServletActionContext;
インポート com.opensymphony.xwork2 ActionSupport;
@SuppressWarnings("serial")
public class FileAction extends ActionSupport {
private String fileFileName;
private String message = "ファイルは正常にアップロードされました。";
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public File getFile() {
ファイルを返す;
}
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 fileFileName ;
}
public void setFileFileContentType(String fileFileContentType) {
this.fileFileContentType = fileFileContentType;
}
@SuppressWarnings("deprecation")
@Override
public String 実行() 例外をスローします {
String path = ServletActionContext.getRequest().getRealPath("/upload");
try {
File f = this.getFile(); () .endsWith(".exe")){
message="申し訳ありませんが、アップロードしたファイル形式は許可されていません!!!";
return ERROR;
FileInputStream inputStream = new FileInputStream(f );
FileOutputStream OutputStream (パス "/" this.getFileFileName());
byte[] buf = new byte[1024]; while (( length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length)
}
inputStream.close(); flash() ;
} catch (Exception e) {
e.printStackTrace();
message = "申し訳ありませんが、ファイルのアップロードに失敗しました!!!!";
}
}


struts.xml




コードをコピー


コードは次のとおりです



<アクション名="fileUploadAction" class="com.ajaxfile.action.FileAction"> <結果タイプ="json" name="success"> < ;param name="contentType"> 🎜> text/html

< /struts>


Action と組み合わせた struts.xml の結果の構成に注意してください。
contentType パラメーターが存在する必要があります。存在しない場合、ブラウザーは返された JSON 結果をファイルとして保存するよう常に要求し、処理のためにそれを ajaxfileupload に渡しません。これは、struts2 JSON プラグインのデフォルトの contentType が application/json であるのに対し、ajaxfileupload には text/html が必要であるためです。
ファイルアップロード用の JSP ページ




コードをコピー


コードは次のとおりです:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
;

ここにタイトルを挿入スクリプトタイプ="text/javascript" src="js/jquery.js">
<スクリプトタイプ="text/javascript" src="js/ajaxfileupload.js"< /script>



>


注意してください 内のコードにはフォームがありません。 ajaxFileUpload() メソッドは、ボタンがクリックされた場合にのみトリガーされます。注意する必要があるのは、js ファイルが導入される順序です。ajaxfileupload.js は jquery に依存します。

プロジェクト コードをダウンロードするにはここをクリックしてください
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。