1.网络资源转File需要引入依赖commons-io
/*** 读取网络中的图片* @param url https://www.kziyue.com/wp-content/uploads/2019/06/5bca-hxyuaph9825616.jpg* @return*/public File URLToFile(String url){File file1 = new File("test.png");try {URL url1 = new URL(url);FileUtils.copyURLToFile(url1,file1);} catch (IOException e) {e.printStackTrace();}File absoluteFile = file1.getAbsoluteFile();return file1;}

文章插图
2.网络资源转MultipartFile需要引入依赖spring-web
/*** 文件上传* @param urlStr url地址* @return multipartFile*/public MultipartFile fileUpload(String urlStr) throws Exception {try {//把地址转换成URL对象URL url = new URL(urlStr);//创建http链接HttpURLConnection conn = (HttpURLConnection)url.openConnection();//设置超时间为3秒conn.setConnectTimeout(3*1000);//防止屏蔽程序抓取而返回403错误conn.setRequestProperty("User-Agent", "Mozilla/5.0 (windows NT 6.1; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/61.0.3163.100 Safari/537.36)");//得到输入流InputStream inputStream = conn.getInputStream();//截取链接中的文件名String fileName= urlStr.substring(urlStr.lastIndexOf("/")+1);MultipartFile multipartFile = new MockMultipartFile(fileName,fileName, ContentType.APPLICATION_OCTET_STREAM.toString(), inputStream);return multipartFile;} catch (Exception e) {e.printStackTrace();}throw new Exception();}
文章插图
3.File转MultipartFile需要引用的依赖spring-text,httpcore
/*** 文件类型转换** @param filePath 文件file* @return MultipartFile*/public static MultipartFile caseFileToMultipartFile(File filePath) {MultipartFile multipartFile = null;try {log.info("开始进行文件转换");FileInputStream fileInputStream = new FileInputStream(filePath);multipartFile = new MockMultipartFile(filePath.getName(), filePath.getName(),ContentType.APPLICATION_OCTET_STREAM.toString(), fileInputStream);} catch (IOException e) {e.printStackTrace();return null;}return multipartFile;}
文章插图
4.File转字节数组【Java 各种文件类型转换的方法 你会了哪种呢】
/*** 将文件转为字节数组* @param file* @param size 1024* @return*/public static byte[] BufferStreamForByte(File file, int size) {byte[] content = null;try {BufferedInputStream bis = null;ByteArrayOutputStream out = null;try {FileInputStream input = new FileInputStream(file);bis = new BufferedInputStream(input, size);byte[] bytes = new byte[1024];int len;out = new ByteArrayOutputStream();while ((len = bis.read(bytes)) > 0) {out.write(bytes, 0, len);}bis.close();content = out.toByteArray();} finally {if (bis != null) {bis.close();}if (out != null) {out.close();}}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return content;}
文章插图
5.Frame转BufferedImage需要引入依赖JAVAcv
public static BufferedImage FrameToBufferedImage(Frame frame) {//创建BufferedImage对象Java2DFrameConverter converter = new Java2DFrameConverter();BufferedImage bufferedImage = converter.getBufferedImage(frame);return bufferedImage;}
文章插图
6.BufferedImage转MultipartFile
public static MultipartFile fileCase(BufferedImage image){//得到BufferedImage对象// BufferedImage bufferedImage = JoinTwoImage.testEncode(200, 200, url);MultipartFile multipartFile= null;try {//创建一个ByteArrayOutputStreamByteArrayOutputStream os = new ByteArrayOutputStream();//把BufferedImage写入ByteArrayOutputStreamImageIO.write(image, "jpg", os);//ByteArrayOutputStream转成InputStreamInputStream input = new ByteArrayInputStream(os.toByteArray());//InputStream转成MultipartFilemultipartFile =new MockMultipartFile("file", "file.jpg", "text/plain", input);} catch (IOException e) {e.printStackTrace();}return multipartFile;}推荐阅读
- 在项目中使用的顶级 Java 部署工具
- Windows操作无法完成,因为文件已经在xxxx中打开,如何解决?
- MySQL中如何修改用户各种信息
- 如何使用 .NET Core 安全地加/解密文件
- 电子签章处理文件和打印基于ABP框架的前端项目Vue&Element
- Windows 文件审核 – 如何保护服务器上的文件
- 物理机、虚拟机和容器有什么区别
- Android APK 程序实现自动更新,java服务处理无弹窗,终极解决方案
- 初学JavaScript之消息对话框
- VMware虚拟机与物理机文件交互,这8种方法送给你
