App前端的上传
来源:互联网 发布:怎么查看路由器端口 编辑:程序博客网 时间:2024/06/05 17:50
MutipartResolver:是springMvc中的类
需要在spring中配置一下
//参数传入
@实现的代码:
/** * 上传图片 * @param urlfile 图片 * @param backUrl 图片上传完成后 需要执行的类的方法 该方法默认参数都是Attachment 返回类型都是Result * @param module 上传文件夹名字 * @param extendFile 上传文件格式后缀 * @return */@Override@Transactionalpublic Result mobileUploadAttachment(MultipartFile urlfile, Object[] backUrl,String module,String[]extendFile,String type) {String fileName = null;Attachment attachment=null;try {if (urlfile.isEmpty()) {return ResultUtils.returnError("上传文件失败");} else {String basePath = SpringMVCUtils.getRequest().getRealPath("/upload/" + module);String path = null;fileName = urlfile.getOriginalFilename();boolean isFile = StringUtils.endsWithAny(StringUtils.lowerCase(fileName),extendFile );String sysFileName = UniqueUtils.getOrder() + "." + StringUtils.substringAfter(fileName, ".");//文件格式if (isFile) {path = basePath + "/" + sysFileName;} else {return ResultUtils.returnError("文件格式不正确,上传文件失败");}urlfile.transferTo(new File(path));//文件大小Double size=DoubleUtils.div(urlfile.getSize(),1024000.0, 2);//单位 Mif(type.equals("0")){//上传图片if(size>2){return ResultUtils.returnError("请上传2M以内的图片");}attachment = new Attachment();attachment.setName(fileName);attachment.setAddress("upload/" + module +"/"+ sysFileName);attachment.setMemory(size);//记录文件大小 (单位 M)//设置图片的尺寸BufferedImage bufferedImage=null;try {bufferedImage = ImageIO.read(new File(path));int width = bufferedImage.getWidth(); int height = bufferedImage.getHeight(); attachment.setSizeInfo(width+","+height);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} UpLoadUtils.alyUpload(module, sysFileName, path,initParam);//上传} else if(type.equals("1")){//上传视频if(size>20){return ResultUtils.returnError("请上传20M以内的视频");}attachment = new Attachment();attachment.setName(fileName);attachment.setAddress("upload/" + module +"/"+ sysFileName);attachment.setMemory(size);//记录文件大小 (单位 M)UpLoadUtils.alyUpload(module, sysFileName, path,initParam);//上传}//反射 保存实体Object obj=backUrl[0];Class<? extends Object> clazz=obj.getClass();Method method=clazz.getDeclaredMethod(backUrl[1].toString(), attachment.getClass());Object returnObj=method.invoke(obj,attachment);if(returnObj==null){logger.error("上传图片回调方法返回数据为空");return ResultUtils.returnError("上传失败");}return (Result) returnObj;}} catch (Exception e) {e.printStackTrace();TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();//回滚数据logger.error("图片上传发生异常:"+e.getMessage());return ResultUtils.returnError("上传失败");}}
阅读全文
0 0
- App前端的上传
- app 图片的上传
- 校正前端上传的图片格式
- thinkphp3.2 后台获取app前端多个图片上传及参数 的接口写法(upload()函数)
- 常用的app上传平台!
- APP 上传遇到的问题
- HBuilder:推开前端开发App的大门
- 前端web app之rem的介绍
- 前端上传图片遇到的问题
- 前端限制上传文件的大小
- web前端文件上传的三个步骤
- 上传app
- 上传APP
- 上传app
- 上传app
- App上传
- APP上传
- app上传
- 在Ubuntu中用anaconda快速安装opencv3
- 比特币源码学习笔记(一)
- PHP 数组的一些高级用法
- spring mvc 防止重复提交表单的两种方法,推荐第二种
- sqlserver 跨库查询 分布式查询
- App前端的上传
- GetText
- iOS开发入门
- 解决:Error:Connection timed out: connect. If you are behind an HTTP proxy, please
- junit单元测试dao层遇到的事务问题
- 主页隐藏android图标
- Android程序员的十大转型之路
- MacOS10.12 Eclipse neoa启动时卡在Loading org.eclipse.egit.core时如何处理
- 卓易科技携DroiBaaS入围行业全球顶级盛会