怎么将File转换为MultipartFile类型
来源:互联网 发布:香水小样 知乎 编辑:程序博客网 时间:2024/06/05 12:05
package com.xiaojd.test;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.OutputStream;import org.apache.commons.fileupload.FileItem;import org.apache.commons.fileupload.FileItemFactory;import org.apache.commons.fileupload.disk.DiskFileItemFactory;import org.springframework.web.multipart.MultipartFile;import org.springframework.web.multipart.commons.CommonsMultipartFile;public class Test {public static void main(String[] args) {String picPath ="D://pic//1.png";MultipartFile file = getMulFileByPath(picPath);try {byte[] bytes = file.getBytes();for(byte b : bytes){System.out.print(b);}} catch (IOException e) {e.printStackTrace();}//图片上传picUpload(file);}private static void picUpload(MultipartFile file) {//图片上传 if (file!=null) {// 判断上传的文件是否为空 String path=null;// 文件路径 String type=null;// 文件类型 String fileName=file.getOriginalFilename();// 文件原名称 System.out.println("上传的文件原名称:"+fileName); // 判断文件类型 type=fileName.indexOf(".")!=-1?fileName.substring(fileName.lastIndexOf(".")+1, fileName.length()):null; if (type!=null) {// 判断文件类型是否为空 if ("GIF".equals(type.toUpperCase())||"PNG".equals(type.toUpperCase())||"JPG".equals(type.toUpperCase())) { // 项目在容器中实际发布运行的根路径// String realPath=request.getSession().getServletContext().getRealPath("/"); //哥哥自己写的路径 String realPath="F://pic//"; // 自定义的文件名称 String trueFileName=fileName; // 设置存放图片文件的路径 path=realPath+trueFileName; System.out.println("存放图片文件的路径:"+path); // 转存文件到指定的路径 try {file.transferTo(new File(path));} catch (Exception e) {e.printStackTrace();} System.out.println("文件成功上传到指定目录下"); }else { System.out.println("不是我们想要的文件类型,请按要求重新上传"); } }else { System.out.println("文件类型为空"); } } System.out.println("没有找到相对应的文件");}private static MultipartFile getMulFileByPath(String picPath) {FileItem fileItem = createFileItem(picPath);MultipartFile mfile = new CommonsMultipartFile(fileItem);return mfile;}private static FileItem createFileItem(String filePath) { FileItemFactory factory = new DiskFileItemFactory(16, null); String textFieldName = "textField"; int num = filePath.lastIndexOf("."); String extFile = filePath.substring(num); FileItem item = factory.createItem(textFieldName, "text/plain", true, "MyFileName" + extFile); File newfile = new File(filePath); int bytesRead = 0; byte[] buffer = new byte[8192]; try { FileInputStream fis = new FileInputStream(newfile); OutputStream os = item.getOutputStream(); while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) { os.write(buffer, 0, bytesRead); } os.close(); fis.close(); } catch (IOException e) { e.printStackTrace(); } return item; }}
阅读全文
1 0
- 怎么将File转换为MultipartFile类型
- java上传文件将MultipartFile类型装换为File类型
- file 转换MultipartFile
- MultipartFile转换File完整版
- 将file类型的文件转换为blob,将blob类型转换为file
- File如何转换成MultipartFile
- date类型,怎么转换为timestamp类型?
- 将一个字符串直接转换为我们File类型的url
- 将内置类型转换为string类型
- 将String类型转换为Int类型
- 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
- 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
- Javascript怎么将秒转换为时间
- Android将Bitmap类型转化为file类型
- 时间类型转换:将COleDateTime转换为INT64类型
- 无法将类型"ASP.login_aspx" 转换为
- 将字符串转换为枚举类型
- 将数字类型转换为字符串
- Spark Standalong模式运行原理剖析之天龙八步
- C++ primer plus 阅读记录-输入输出
- Unity Shader入门精要 学习笔记一
- Android触屏事件(一、事件分发)
- linux 中的outb outw inb inw
- 怎么将File转换为MultipartFile类型
- LP-PSOLA算法之(二) 语音变调
- C++文件的写入和读取
- spark1.6编译
- eclipse编写wordcount提交spark运行
- LeetCode | 27. Remove Element
- 让元素有效和无效
- EM算法在K-Means中的运用
- C#关键字之const详解