springmvc MultipartFile 转换为 file
在使用springmvc与fastdfs配合上传文件时遇到了一个坑,springMVC接收文件类型为MultipartFile,此文件直接上传至fastdfs时,文件默认保存为400k,(此处原来同事写的有问题,size传入默认为0,之后判断为0的话置了一个默认值409600)。苹果端播放录音师音频会变长,并且无法播放。所以需要将接收到的MultipartFile转换为File后上传。
转换方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
第一种方法: MultipartFile file = xxx; CommonsMultipartFile cf= (CommonsMultipartFile)file; DiskFileItem fi = (DiskFileItem)cf.getFileItem(); File f = fi.getStoreLocation(); 会在项目的根目录的临时文件夹下生成一个文件; 第二种方法: transferTo(File dest); 会在项目中生成一个新文件; 第三种方法: File f = (File) xxx 强转即可。前提是要配置multipartResolver,要不然会报类型转换失败的异常。 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="104857600"/> <property name="maxInMemorySize" value="4096"/> </bean> 没试过; 第四种方法: fdfsService.uploadFile(file); 转换为输入流,直接读取; 第五种方法: byte[] buffer = file.getBytes(); 先转换为字节数组 |
©版权声明:本文为【翰林小院】(huhanlin.com)原创文章,转载时请注明出处!
发表评论