Struts 는 plplplpload 를 사용 하여 다 중 파일 업 로드 를 실현 합 니 다.
3944 단어 plupload
다음은 제 가 개인 적 으로 수정 한 것 으로 Struts 를 통 해 다 중 파일 업로드 가 이 루어 집 니 다.
package net.bingosoft.attach.action;
import java.io.IOException;
import java.io.InputStream;
import java.util.UUID;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.bingosoft.attach.common.FileHelper;
import net.bingosoft.attach.service.AttachService;
import net.bingosoft.common.config.Config;
import net.bingosoft.common.struts.BaseAction;
import net.bingosoft.competition.model.VieFile;
import org.apache.commons.fileupload.FileItemIterator;
import org.apache.commons.fileupload.FileItemStream;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class PluploadAction extends BaseAction{
static private final String RESP_SUCCESS = "{\"jsonrpc\" : \"2.0\", \"result\" : null, \"id\" : \"id\"}";
static private final String RESP_ERROR = "{\"jsonrpc\" : \"2.0\", \"error\" : {\"code\": 101, \"message\": \"Failed to open input stream.\"}, \"id\" : \"id\"}";
static private final String JSON = "application/json";
private AttachService attachService;
public void uploadFile(HttpServletRequest request, HttpServletResponse response) throws IOException{
request.setCharacterEncoding("UTF-8");
String responseString = RESP_SUCCESS;
String belongId = request.getParameter("belongId");
String belongModel = request.getParameter("belongModel");
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (isMultipart) {
ServletFileUpload upload = new ServletFileUpload();
//webroot
String webRootPath = FileHelper.getServerWebRoot();
String context = request.getContextPath();
try {
FileItemIterator iter = upload.getItemIterator(request);
while (iter.hasNext()) {
FileItemStream item = iter.next();
// Handle a multi-part MIME encoded file.
if (!item.isFormField()) {
String filename = item.getName();
InputStream input = item.openStream();
String filePath = FileHelper.getServerREFile(filename);
FileHelper.uploadFile(input, webRootPath+filePath);
if(belongModel.equals(Config.getString("JINGZHENG_UPLOAD_FLAG"))){
VieFile vieFile = new VieFile();
vieFile.setFid(UUID.randomUUID().toString());
vieFile.setIid(belongId);
vieFile.setFilePath(context+"/"+filePath);
vieFile.setFileName(filename);
attachService.getBaseDao().save(vieFile);
}
}
}
}
catch (Exception e) {
responseString = RESP_ERROR;
e.printStackTrace();
}
}
// Not a multi-part MIME request.
else {
responseString = RESP_ERROR;
}
response.setContentType(JSON);
byte[] responseBytes = responseString.getBytes();
response.setContentLength(responseBytes.length);
ServletOutputStream output = response.getOutputStream();
output.write(responseBytes);
output.flush();
}
public AttachService getAttachService() {
return attachService;
}
public void setAttachService(AttachService attachService) {
this.attachService = attachService;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Struts 는 plplplpload 를 사용 하여 다 중 파일 업 로드 를 실현 합 니 다.plploproad,괜 찮 은 js 프레임 워 크 입 니 다.그 때 는 공식 demo 에서 phop 서버 코드 만 제공 되 었 다. 다음은 제 가 개인 적 으로 수정 한 것 으로 Struts 를 통 해 다 중 파일 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.