>웹 프론트엔드 >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가
및 struts2-json-plugin-2.1.8.1.jar에 의존하는 jar 패키지
파일 업로드 작업 작성
코드 복사 코드는 다음과 같습니다.

package com.ajaxfile.action; > import java.io.File;
import java.io.FileOutputStream;
import org.apache.struts2.ServletActionContext; ActionSupport;
@SuppressWarnings("serial")
public class FileAction extends ActionSupport {
private File file;
private String fileFileContentType; 파일이 성공적으로 업로드되었습니다.";
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public File getFile() {
return file;
}
public void setFile(파일 파일) {
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 실행 () 예외 발생 {
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.getFileName())
byte[] buf = new byte[1024]; while (( length = inputStream.read(buf)) != -1) {
outputStream.write(buf, 0, length)
}
inputStream.close()
outputStream. 플러시() ;
} catch(예외 e) {
e.printStackTrace();
message = "죄송합니다. 파일 업로드에 실패했습니다!!!!"
}
return SUCCESS;
}
}


struts.xml




코드 복사

코드는 다음과 같습니다. 다음은 다음과 같습니다.
< ;param name="contentType">


text/html


< /struts>


Action과 결합된 struts.xml의 결과 구성에 주의하세요.
contentType 매개변수가 있어야 합니다. 그렇지 않으면 브라우저는 항상 반환된 JSON 결과를 파일로 저장하라는 메시지를 표시하고 처리를 위해 ajaxfileupload에 전달하지 않습니다. 이는 struts2 JSON 플러그인의 기본 contentType이 application/json인 반면 ajaxfileupload에는 text/html이 필요하기 때문입니다.
파일 업로드용 JSP 페이지




코드 복사


코드는 다음과 같습니다.

<%@ 페이지 언어="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>

;

여기에 제목 삽입 script type="text/javascript" src="js/jquery.js">