업로드의 뒷면에 전면 및 워드 문서를 다운로드

업로드 -------------------- -------------------

<p의 onclick = "자바 스크립트 : showUploadProjectDocDialog ();
上传
</ p>

// 대화 - 업로드 프로젝트 문서의
기능 showUploadProjectDocDialog () {
// 항목 코드
$ ( '#의 hidden_project_code') 발 (currentProjectCode);
$ ( '# Dialog_upload_project_docs') 대화 상자 (.
{
위치 : [400, 100],
폭 : 700 ,
높이 : (200)이며,
모달 : 진실,
크기 조정 : false로,
closeOnEscape : 사실에
제목 : "문서"
}
);
}
기능 closeUploadProjectDocDialog () {
. $ ( '#의 dialog_upload_project_docs') 대화 상자 ( "닫기");
}

 

<! - 팝업 - 업로드 문서 ->
<! -
1- 교정 증명서 인증 방식 2- (일본어), 3- 인증 방식 (확인), 4- 검증 보고서 (일본어) -5- 인증 보고서 (검증),
11 - 교정 인증서 PDF, 12 인증 방식의 PDF, 13- 검증 보고서 PDF, 14 - 원본 데이터의 PDF
->
<DIV ID = "dialog_upload_project_docs"스타일 = "표시 : 없음;">
<양식 = ID "form_upload_project_docs '액션 =에 enctype ="multipart / form-data "로 METHOD ="POST ">"/ 업로드 / uploadProjectDocs.api <%는 basePath의 % = ">
<INPUT 타입 ="숨겨진 "NAME ="project_code "ID = "hidden_project_code"/>
<표 클래스 = "formtable">
<TR>
<TD> 문서 타입 </ TD>
<TD 정렬 왼쪽 = = "왼쪽">
<SELECT NAME = "DOC_TYPE">
<옵션 값 = ". 1"> 않은 워드 교정 인증서 </ 옵션>
<옵션 값 = ". 3"> 않은 워드 인증 방식 </ 옵션>
<옵션 값 = ". (5)"> 않은 워드 검증 보고서 </ 옵션>

<옵션 값 = ". 11"> PDF - 교정 인증서 (다운로드) </ 옵션>
<옵션 값 = "12"> PDF- 인증 방식 (사용자가 다운로드) </ 옵션>
<옵션 값 = "13 인"> PDF- 확인 리포트 (사용자가 다운로드) </ 옵션>
<옵션 값 = "14"> PDF- 원시 데이터 (사용자가 다운로드) </ 옵션>
</ SELECT>
</ TD>
</ TR>

<TR>
<TD>选择文件</ TD>
<TD> <input 타입 = "파일"NAME = "파일"/> </ TD>
</ TR>
<TR>
<TD 열 병합 = "2"스타일 = " 텍스트 정렬 : 센터; ">
<input 타입 ="버튼 "값 ="上传"의 onclick ="uploadProjectDoc (); "/>
</ TD>
</ TR>
</ 테이블>
</ FORM>
</ div>

false를 반환; }




















// 자바 방법 - 업로드 만들 원본 파일 이름과 경로의 매개 변수를 나가
( "uploadCheckOutDocs") @ RequestMapping을
(HttpServletRequest의, HttpServletResponse를 응답,의 MultipartFile 파일, ApiJsonResult 결과 요청) 공공 무효 uploadCheckOutDocs는 예외 {던졌습니다
// 생성 사전 JSON 결과
ApiJsonResult의 apiJsonResult = 새를 ApiJsonResult ();
apiJsonResult.setCode (StatusCodeEnum.SUCCESS.getCode ());
apiJsonResult.setMsg (StatusCodeEnum.SUCCESS.getDesc ());

{시도
//请求参数
문자열 ID = request.getParameter ( "hidden_inboundLot_id");
문자열 inboundId = request.getParameter (이하 "hidden_inbound_id");

ScmInboundLot scmInboundLot = scmInboundLotService.findScmInboundLotById (ID);
ScmGoods scmdGoods = scmGoodsService.findScmGoodsById (scmInboundLot.getGoodsId ());

.. 문자열 경로 request.getSession () getServletContext () getRealPath ( "/ 업로드 / 문서를 /") =; // 바람둥이路径
// 문자열 경로 = ApiConstants.PORTAL_PIC_DIR;
파일 pathFile 새로운 파일 (경로) =;
만약 (! pathFile.exists () && pathFile.isDirectory (!))
{
pathFile.mkdir ();
}
//文件
문자열 dateStr = DateUtil.fmtDate (새로운 날짜 (), "YYYYMMDDHHMMSS");
문자열 ORIGINALNAME = file.getOriginalFilename (); // 원래 파일 이름
문자열 EXTNAME = originalName.substring (originalName.lastIndexOf () "."); // 파일 접미사 - DOCX DOC
문자열 docName 같은 = scmdGoods.getName () + "_ "+ scmInboundLot.getLotCode () +"_ "+ inboundId +" 농약 시험 성적서 "+ dateStr + EXTNAME; // 파일 업로드 이름 저장
파일 savepath = 새 새 파일 (경로 + + Win32 시스템 docName 같은);
// 문서 중국어 이름
// 문자열 docCnName project.getProjectName을 = ();
// 덤프 파일
file.transferTo (savepath);

// 영수 서비스 처리
/*projectService.updateValidateProjectByCode(project);*/

} 캐치 (예외 E를) {
e.printStackTrace ();
apiJsonResult.setCode (StatusCodeEnum.SYSPARAMERROR_CALLAPI_ERROR.getCode ());
apiJsonResult.setMsg (StatusCodeEnum.SYSPARAMERROR_CALLAPI_ERROR.getDesc ());
}
//输出API结果
JsonWebPrintUtils.printApiResult (요청, 응답, apiJsonResult);
}

 

 

 

 

 

 

 

---------------------------------下载---------------- ------------------------------------------------
<! -导出项目文档->
<form 이름 = 조치 "에 form1" "에 form1"ID = "<% = basePath %> / / downProjectDoc.api 아래"METHOD = "POST">
<input = 유형은 "숨겨진"이름 = "PARAM1"ID = "hidden_param1"/>
</ FORM>

// 데이터 내보내기
기능 downProjectDoc (DOCTYPE 상기 docName 같은, docCnName) {
VAR requestParam = {} // 전체 요청 파라미터
VAR의 sysParam = {} // 시스템 파라미터
VAR busParam = {} // 서비스 파라미터
requestParam.sysParam = sysParam // 시스템 파라미터 (API가 전송 될 필요)
requestParam.busParam = busParam // 서비스 파라미터
busParam.projectCode = currentProjectCode;
busParam.docType = DOCTYPE;
busParam.docName = docName 같은;
busParam.docCnName = docCnName;

// 전체 요청 매개 변수 문자열로 변환 JSON
VAR = requestParamJsonObject JSON.stringify (requestParam);
// 컨트롤러 전화
$를 ( '# hidden_param1') 발 (requestParamJsonObject);
$ ( '# Form1이') (제출).
}


/ **
*下载项目文档
* /
@RequestMapping ( "downCheckOutDoc")
공공 무효 downCheckOutDoc이 (HttpServletRequest의 요청, HttpServletResponse를 응답, 문자열 PARAM1)이 예외를 throw {
//获取请求参数
HttpRequestParamVo httpRequestParamVo = JsonConverter.json2Obj (PARAM1, HttpRequestParamVo.class) ;
된 JSONObject busParam httpRequestParamVo.getBusParam = ();
정수는 DOCTYPE busParam.getInteger ( "을 DOCTYPE") =;
문자열 docName 같은 = busParam.getString ( "docName 같은");
문자열 docCnName = busParam.getString ( "docCnName");
문자열 projectCode = busParam.getString ( "projectCode");

경우 (docType.intValue ()> 10) {// PDF
response.setContentType (Constants.CONTENT_TYPE_PDF);

response.setContentType (Constants.CONTENT_TYPE_WORD);
}
response.setCharacterEncoding ( "UTF-8");
response.setHeader ( "에서 Pragma", "아니오 - 캐시");
response.setHeader ( "캐시 제어", "노 캐시"); 없다
response.setDateHeader (0 "만료");
밖으로의 OutputStream = NULL;
{시도
= response.getOutputStream ()에서; //取得输出流
response.reset을 (); //清空输出流
( "."docName.lastIndexOf ()) 문자열 파일 이름 = docCnName + docName.substring;
// 파일 이름 = 새로운 문자열 (filename.getBytes ( "UTF-8"), "ISO8859-1");
파일 이름 = 새로운 문자열 (filename.getBytes ( "GB2312"), "ISO8859-1");
response.setHeader ( "내용 - 처리", "

문자열 savePath = request.getRealPath ( "문서") + Win32 시스템 projectCode + + + docName 같은 Win32 시스템;
파일 파일은 새 파일 (savePath를) =;
FileInputStream에 새로운 FileInputStream에 (파일) = 금융 기관;
BufferedInputStream을 비스 = BufferedInputStream을 새로운 (FIS);
바이트 [] 배열은 새로운 바이트 [1024] =;
INT LEN = 0;
반면 ((LEN = bis.read (배열))> 0) {
out.write (배열 0 렌);
() out.flush;
}
) (bis.close;
} 캐치 (IOException이 전자) {
e.printStackTrace ();
} 마지막으로 {
경우 (교체 아웃 = null이!) {
시도 {
out.close ();
} 캐치 (예외 E2) {
e2.printStackTrace ();
}
}
}

}

추천

출처www.cnblogs.com/missmeng/p/12188444.html