アップロードとダウンロードのバックワード文書へのフロント

アップロード-------------------- -------------------

<Pのonclick = "javascriptの:showUploadProjectDocDialog();
上传
</ P>

//ダイアログ-アップロードプロジェクトドキュメント
機能showUploadProjectDocDialog(){
//アイテムコード
$( '#1 hidden_​​project_code')ヴァル(currentProjectCode);.
$( '#Dialog_upload_project_docs')ダイアログ(
{
位置:[400、100]、
幅:700 、
高さ:200は、ある
モーダル:trueに、
サイズ変更可能:falseに、
closeOnEscape:trueに、
タイトル: "文書"
}
);
}
機能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" ACTION = "<%= basePathを%> /アップロード/ uploadProjectDocs.api"にENCTYPEを= "マルチパート/フォームデータの" METHOD = "POST">
の<input type = "隠れた" NAME = "project_code" ID = "hidden_​​project_code" />
<テーブルクラス= "formtable">
<TR>
<TD>文書型</ TD>
<TD ALIGN =左= "左">
<SELECT NAME = "DOC_TYPE">
<オプション値=」1">言葉の校正証明書</オプション>
<オプション値=」3 ">言葉の認証スキーム</オプション>
<オプション値=" 5 ">言葉の検証報告書</オプション>

<オプション値=" 11" > PDF -校正証明書(およびダウンロード)</オプション>
<オプション値= "12"> PDF- 認証方式(ユーザがダウンロード)</オプション>
<オプション値= "13である"> PDF-検証報告(ユーザがダウンロード)</オプション>
<オプション値= "14"> PDF-生データ(ユーザーがダウンロードした)</オプション>
</ SELECT>
</ TD>
</ TR>

<TR>
<TD>选择文件</ TD>
<TD>の<input type = "ファイル"名= "ファイル" /> </ TD>
</ TR>
<TR>
<TD COLSPAN = "2"スタイル=」テキスト整列:センター; ">
の<input type ="ボタン」値= "上传"のonclick = "uploadProjectDoc();" />
</ TD>
</ TR>
</ TABLE>
</フォーム>
</ div>

falseを返します。}




















// Javaメソッド-アップロード作成するために、元のファイル名とパスのパラメータを取得
@ RequestMapping(「uploadCheckOutDocsを」)
公共無効uploadCheckOutDocs(リクエストのHttpServletRequest、HttpServletResponseの応答、MultipartFileファイル、ApiJsonResult結果は)スロー例外{
//あらかじめ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( "/アップロード/ DOC /")。// Tomcatの路径
//文字列のパス= ApiConstants.PORTAL_PIC_DIR。
ファイルpathFile新しいファイル(パス)=。
(もし!pathFile.exists()&& pathFile.isDirectory()!)
{
pathFile.mkdir();
}
//文件
文字列関数datestr = DateUtil.fmtDate(新しいDate()、 "YYYYMMDDHHMMSS");
文字列ORIGINALNAME = file.getOriginalFilename(); //元のファイル名
の文字列EXTNAME = originalName.substring(originalName.lastIndexOf() ""); // ファイル拡張子- DOCX DOC
文字列DOCNAME = scmdGoods.getName()+「_ "+ scmInboundLot.getLotCode()+" _ "+ inboundId +" 農薬試験記録「+ datestrを+ EXTNAME; //ファイルアップロード名の保存
ファイル関数savepath =新しい新しいファイル(パス+ + File.separator 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)。
}

 

 

 

 

 

 

 

---------------------------------下载---------------- ------------------------------------------------
<! -导出项目文档- >
<フォーム名= "Form1の" ID = "Form1の" ACTION = "<%= basePathを%> / / downProjectDoc.apiダウン" METHOD = "POST">
の<input type = "隠れた"名前= "PARAM1" ID = "hidden_​​param1" />
</フォーム>

//データエクスポート
関数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'))(提出します;
}


/ **
*下载项目文档
* /
( "downCheckOutDocを")@RequestMapping
ます。public void downCheckOutDoc(HttpServletRequestのリクエスト、HttpServletResponseの応答、文字列PARAM1)が例外をスロー{
//获取请求参数
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")。

IF(docType.intValue()> 10){// PDF
response.setContentType(Constants.CONTENT_TYPE_PDF)。

response.setContentType(Constants.CONTENT_TYPE_WORD)。
}
response.setCharacterEncoding( "UTF-8");
response.setHeader( "プラグマ"、 "いいえキャッシュ");
response.setHeader( "のCache-Control"、 "キャッシュなし")。
response.setDateHeader(0、 "有効期限")。
= nullのうちのOutputStream。
{試みる
= 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( "DOC")+ File.separator + projectCode + File.separator + DOCNAME。
ファイルファイル=新しいファイル(関数savepath)。
FileInputStreamのFIS =新しいFileInputStreamを(ファイル);
BufferedInputStreamをビス=新たにBufferedInputStream(FIS)。
バイト[]配列=新しいバイト[1024];
int型のlen = 0;
一方、((LEN = bis.read(配列))> 0){
out.write(アレイ、0、LEN)。
out.flush();
}
)(bis.close。
}キャッチ(IOExceptionを電子){
e.printStackTrace();
}最後に{
場合(!アウト= NULL){
試み{
out.close();
}キャッチ(例外E2){
e2.printStackTrace()。
}
}
}

}

おすすめ

転載: www.cnblogs.com/missmeng/p/12188444.html