MultipartHttpServletRequest 多文件上传。个人demo
来源:互联网 发布:linux kill函数 编辑:程序博客网 时间:2024/06/05 14:48
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-edit" plain="true" onclick="editChannel()">编辑</a><!-- 编辑窗口 --> <div id="dlg2" class="easyui-dialog" style="width:680px;height:500px;padding:10px 20px" closed="true" buttons="#dlg-buttons"> <form id="fm2" method="post" enctype="multipart/form-data" novalidate> <div class="fitem"> <label>文件导入:</label> <input name="modifFile" id="modifFile"class="easyui-filebox" style="width:200px" data-options="prompt:'请选择文件...'"> (支持xls,csv格式文件) </div> </form> </div> <div id="dlg-buttons"> <a href="javascript:void(0)" class="easyui-linkbutton c6" iconCls="icon-ok" onclick="save2Channel()" style="width:90px">保存</a> <a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#dlg2').dialog('close')" style="width:90px">取消</a> </div>
function editChannel(){ var row = $('#dg').datagrid('getSelected'); if (row){ $('#dlg2').dialog('open').dialog('center').dialog('setTitle','编辑'); $('#fm2').form('load',row); url = '/channel/update.html'; }else{ $.messager.show({ title: '提示信息', msg: '请选择一条记录!' }); }}/** * 编辑保存 */function save2Channel(){ $('#fm2').form('submit' , { url : '/channel/update.html', onSubmit: function(){ }, success : function(data){ $.messager.progress('close'); var data = eval('('+data+')'); if (data && data.success){ $.messager.show({ title: '成功信息', msg: data.msg }); $('#dlg2').dialog('close'); $('#dg').datagrid('reload'); } else { $.messager.show({ title: '失败信息', msg: data.msg }); $('#dlg2').dialog('close'); $('#dg').datagrid('reload'); } } }); var win = $.messager.progress({ title:'请稍后', msg:'正在上传数据...' });}
///*ChannelRequest request*/ 注不能直接传请求对象@SuppressWarnings("unused")@RequestMapping("/update")@ResponseBodypublic Result update(HttpServletRequest request0,Integer channelId ,Character status, Character showFlag ,Character flag,String channelName,String fileParserName,String fileCompareName ,String importorName,String rule ,String sourceConfig,String schemaInfo, String processors){try{ MultipartHttpServletRequest multipartRequest = WebUtils.getNativeRequest(request0, MultipartHttpServletRequest.class); List<MultipartFile> multipartFiles = multipartRequest.getFiles("modifFile");if(!StringUtils.isBlank(multipartFiles.get(0).getOriginalFilename())){ //1 文件保存String[] filePaths = uploadFile(multipartFiles.get(0));} //封装渠道信息 ChannelRequest request = packaging(channelId, status, showFlag, flag,channelName, fileParserName, fileCompareName, importorName,rule, sourceConfig, schemaInfo, processors);channelService.update(DatasoureFlagEnum.DATA_R_CASH.getCode(),request);log.info("更新渠道成功");return Result.success("更新渠道成功");}catch(Exception e){log.error("更新渠道失败,{}", e);return Result.error("更新渠道失败");}}
private String[] uploadFile(MultipartFile file1) throws Exception {if (null == file1 || file1.isEmpty()) { throw new Exception(""); } if (!this.validateFile(file1, FileSuffixEnum.JAR,FileSuffixEnum.ZIP)) { throw new Exception("文件需为 jar, zip类型"); } String origFileName = file1.getOriginalFilename();/*String dataStr = DateUtil.getCurDate();String chargeFileName=origFileName+"("+dataStr+")";String fileName = UUID.randomUUID().toString().replaceAll("-", "");fileName = fileName + origFileName.substring(origFileName.lastIndexOf('.'), origFileName.length());*/String filePath1 = batchContentService.channelUploadFile(file1.getBytes(), origFileName);return new String[]{filePath1,origFileName};}
/** * @description 校验上传文件的后缀 * @param file * @param enums * @return */protected boolean validateFile(MultipartFile file, FileSuffixEnum... enums) {try {if (file == null || file.isEmpty()) {return false;}for (FileSuffixEnum t : enums) {if (StringUtils.equals(t.name().toUpperCase(), FilenameUtils.getExtension(file.getOriginalFilename()).toUpperCase())) {return true;}}} catch (Exception e) {log.error(e.getMessage(), e);}return false;}
Service
@Overridepublic String channelUploadFile(byte[] data, String fileName) {String fileDir=null;try {//File.separator fileDir = ConfigFiles.deployPath;File file = new File(fileDir +File.separator+ fileName);if (!file.exists()) {// 如果存在,修改文件修改时间//FileUtils.touch(file);FileUtils.writeByteArrayToFile(file, data);}else {file.delete();// 如果存在,修改文件修改时间//FileUtils.touch(file);FileUtils.writeByteArrayToFile(file, data);}} catch (Exception e) {LOGGER.error("文件上传失败", e);throw new RuntimeException("文件上传失败");}return fileDir + File.separator + fileName;}
阅读全文
0 0
- MultipartHttpServletRequest 多文件上传。个人demo
- Spring 文件上传 MultipartHttpServletRequest
- multiparthttpservletrequest上传文件
- spring中的文件上传:MultipartHttpServletRequest
- springMVC中的文件上传:MultipartHttpServletRequest
- spring mvc 多文件上传时报错MultipartHttpServletRequest
- Spring中MultipartHttpServletRequest实现文件上传
- Spring中MultipartHttpServletRequest实现文件上传
- Spring中MultipartHttpServletRequest实现文件上传
- 初识Spring中MultipartHttpServletRequest文件上传
- Spring中MultipartHttpServletRequest实现文件上传
- MultipartHttpServletRequest,ajaxFileUpload上传文件,读取文件乱码问题
- 【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
- 使用common-fileUpload和 Spring中MultipartHttpServletRequest实现文件上传
- Web上传文件报错java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest
- 【SpringMVC】文件上传Expected MultipartHttpServletRequest: is a MultipartResolver错误解决
- SWFUpload实现多文件上传DEMO
- 七牛------iOS多文件上传demo
- tomcat7优化之配置线程池
- apache
- 如何知道网站是用哪个语言开发的
- 大话数据结构笔记-串
- CSV导出使用实例
- MultipartHttpServletRequest 多文件上传。个人demo
- Linux入门基础教程
- git pull 失败 ,提示:fatal: refusing to merge unrelated histories
- 解决两个日期之间计算工作日实现2
- windows下采用Anaconda2中的Python画出caffe深度卷积神经网络结构图
- jqueryeasyui input框变textarea
- 大话数据结构笔记-栈和队列
- PHP使用Solr全文搜索引擎
- ubuntu中使用Git和tmux开启一个线上laravel项目服务