CommonsMultipartFile转File

base64转File、base64转CommonsMultipartFile 阅读详情

场景:

 CommonsMultipartFile shopImg = null;
        CommonsMultipartResolver commonsMultipartResolver =
                new CommonsMultipartResolver(request.getSession().getServletContext());
        if (commonsMultipartResolver.isMultipart(request)) {
            MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest) request;
            //从请求中分离出图片文件,形成的是CommonsMultipartFile类型文件
            shopImg = (CommonsMultipartFile) multipartHttpServletRequest.getFile("shopImg");
        } 
//生成一个特定文件夹下的的随机文件名文件,用来转换
 File shopImgFile = new File(PathUtil.getImgBasePath() + ImageUtil.getRandomFileName());
            try {
                shopImgFile.createNewFile();
            } catch (IOException e) {
                modelMap.put("success", false);
                modelMap.put("error Message:", "shopImgFile 创建失败 : " + e.getMessage() );
                return modelMap;
            }
            try {
           		 //在这里使用
                inputStreamToFile(shopImg.getInputStream(), shopImgFile);
            } catch (IOException e) {
                modelMap.put("success", false);
                modelMap.put("error Message:", "inputStreamToFile 执行失败 :" + e.getMessage());
                return modelMap;
            }
            //在shopService.addShop的方法中,第二个参数是File类型
            ShopExecution shopExecution =  shopService.addShop(shop, shopImgFile);

  private static void inputStreamToFile(InputStream ins, File file) {
        FileOutputStream outputStream = null;

        try {
            outputStream = new FileOutputStream(file);
            int bytesRead = 0;
            byte[] buffer = new byte[1024];
            while ((bytesRead = ins.read(buffer)) != 1) {
                outputStream.write(buffer, 0, bytesRead);
            }

        } catch (Exception e) {
            throw new RuntimeException("调用inputStreamToFile产生异常:" + e.getMessage());
        } finally {
            try {
                if (outputStream != null) {
                    outputStream.close();
                }

                if (ins != null) {
                    ins.close();
                }
            } catch (Exception e) {
                throw new RuntimeException("关闭inputStreamToFile产生异常:" + e.getMessage());
            }
        }

    }
使用inputStreamToFile这个方法就可以实现转换了(原理是因为CommonsMultipartFile类型有一个getInputStream()方法),可以获得文件流然后转换成File类型。
A*寻路算法的最简单通俗讲解 为什么我的眼里常含泪水?因为我有一个算法不会。为了节约点眼泪,今天我们就来介绍著名的A*寻路算法(或简称A*算法)。 Peter Hart, Nils Nilsson 和 Bertram Raphael 在1968年首次提出了著名的A*算法。A*算法其实是Dijkstra最短路径算法的一种扩展。不一样的是,在A*算法中我们需要使用Heuristics 来导引搜索过程,以期达到更好的表现。 ... 阅读详情

相关推荐

R语言影像组学实战:从医学图像到预测模型的完整流程(附代码)

本文详细介绍了使用R语言进行影像组学分析的完整实战流程。从环境搭建、数据准备,到医学图像的特征提取与筛选,再到利用机器学习构建预测模型并进行评估,提供了清晰的步骤和可运行的R代码示例,帮助研究者和数据分析师掌握从医学图像到临床预测模型的核心技术。

qsc901234的博客 732

CommonsMultipartFile和File的互相转换

一、 CommonsMultipartFile转为File(曲线救国) 此处用曲线救国的方式:先用CommonsMultipartFile的getInputStream()方法获取到一个InputStream类型的对象,再将InputStream类型转化为File //将InputStream类型转化为File类型 private static void inputStreamToFi...

u013073869的博客 5399

lattice 黑盒子的生成和使用(Creating Your Own Black Box Modules)

很多客户,特别是外包项目,需要做黑盒子,防止他人看到源码,那么这就需要对相关的源码打包加封了。diamond help 说的也是模糊模糊的,这次给出实际验证过的流程。 1.先将要加封的模块间一个工程,建好工程,写好代码之后,模块名字叫做crosslink(这个使用黑盒子的时候要用),代码如下: module crosslink( output wire[3:0] led, input wire clk, input wire reset ); reg [29:0] cnt; reg [3:0] led1;

qq_39633876的博客 1481

CommonsMultipartFile与File的互相转换

一、 CommonsMultipartFile转为File(曲线救国) 此处用曲线救国的方式:先用CommonsMultipartFi...

qq_35201262的博客 1469

EEGLAB数据预处理基本流程GUI实操指南

按钮,会出现如上图所示的长条形对话框,方框里面是所有电极的名称,这时将需要的剔除的电极选择上,如上图,我选择了 VEOG这个电极(该电极表示是垂直眼电),然后点“OK”,在弹出的对话框中自行确定是否需要修改命名。坏导是指在数据采集时,由于各种原因(如,电极本身问题或阻抗不好等)导致数据记录有问题,但是在后期又特别想要该通道的数据,那么就可以利用插值的方法进行——利用该导联周边的几个电极点的均值作为该导的数据。上图的图是通过IClabel的工具箱进行自动判断的,可以帮助自动识别出哪些是Eye的成分。

fdgdf5535的博客 6397

RTAB-map:实时高效的SLAM库

Real‐time appearance‐based mapping (RTAB‐Map)是一种基于外观的闭环检测方法,具有良好的内存管理,以满足处理大场景和在线长周期管理要求。RTAB‐Map集成了视觉和激光雷达SLAM方案,并支持目前绝大多数的传感器 是一个强大的、开源的Simultaneous Localization and Mapping(SLAM)库,专为机器人和无人驾驶领域设计。它提供了一套完整的解决方案,用于构建三维地图,并在未知环境中进行实时定位与导航。 github项目地址 RTAB-

weixin_45761399的博客 1万+

最简单的CommonsMultipartFile转File方式

spring里面的CommonsMultipartFile如何转File呢?(强转是行不通的,观看源码得知利用InputStream转换)具体实现代码如下: private static void inpuStreamToFile(InputStream ins,File file) { OutputStream oStream = null; try { oStream = new FileOu...

NorDemo的博客 844

Qt5.14.2开发Mqtt应用程序

然后,你就做不下去了…很明显,大部分博主写的东西不是缺头就是缺尾,带偏了许多读者。,因此我们需要clone的是这个分支版本,而不是这个默认的。然后将编译产物中include里的所有.h文件复制到。下载完后直接默认安装即可,这一步没什么好说的。看到了没,这个才是正确的操作方式,而主线的。信号来判断,自行实现自己的槽函数。然后选择构建方式,这里我选择的是。信号来判断自行实现自己的槽函数。信号来判断自行实现自己的槽函数。源代码,如下图所示,双击打开。收到下行消息时,可以通过连接。

Bruce.yang的嵌入式之旅 2312

【代码】CommonsMultipartFile转File

CommonsMultipartFile转File

喜欢你,像风走了八千里 不问归期 3973

【从零开始入门unity游戏开发之——C#篇01】理论开篇,理解什么是编程

理论开篇,理解什么是编程

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3115

揭秘大厂智能生产调度AI系统架构:架构师拆解中台化设计3大优势

智能生产调度AI系统是基于AI算法(如遗传算法、强化学习、深度学习),结合生产数据(如订单、设备、库存、人员),自动生成最优生产计划与调度方案的系统。最大化设备利用率(减少停机时间);最小化生产周期(快速交付订单);优化库存水平(降低积压与短缺);提升准时交货率(满足客户需求)。维度传统调度系统智能调度AI系统决策逻辑规则引擎+人工经验AI算法(预测+优化)数据处理手工汇总+静态数据实时数据整合+动态更新适应能力固定场景(如单一产品、单一工厂)

AI Python 编程之道的博客 759

MultipartFile和File 的相互转换

import org.apache.commons.fileupload.FileItem; import org.apache.commons.fileupload.disk.DiskFileItem; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache....

第245万个博主 4619

SST专题(2-2)MMC-SST 输入级的工作原理及数学模型

本文研究了MMC-SST和iMMC-SST的电路结构及工作原理。系统由前级MMC电路和后级DC/DC电路组成,MMC负责电能转换和能量存储,DC/DC电路进行电压电流调节。重点分析了半桥型子模块(SM)的开关组态和工作原理,建立了平均值模型,推导了上下桥臂电压方程和环流特性。研究表明,通过合理控制子模块充放电模态可维持端口电压平衡,上下桥臂电压调控可影响网侧功率吸收,而环流特性对中压直流侧电压具有重要影响。

嵌入式老牛的博客 773

CommonsMultipartFile 与 File 之间的转换

CommonsMultipartFile 与 File 之间不能直接进行(强制)转换,但是根据CommonsMultipartFile 的源码可以发现(如下图),可以通过(文件)输入输出流进行间接转换。 CommonsMultipartFile的源码 实现方法 File shopImgFile = new File(/* 此处可以创建随机的一个文件用来接收转换的文件信息 */); ...

小白太白的博客 1255

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

CommonsMultipartFile 转为 File 类型

1、我们可以查看CommonsMultipartFile的源码发现有这样一个方法 @Override public InputStream getInputStream() throws IOException { if (!isAvailable()) { throw new IllegalStateException("File...

weixin_30919919的博客 302

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

MultipartFile的使用小结

Multipartfile转File?File转MultipartFile?可千万别转晕了。 题图:from Google 1. MultipartFile类型转File类型 想要将MultipartFile类型转为File类型可以使用MultipartFile提供的方法:void MultipartFile.transferTo(File dest) throws IOException, Il...

weixin_34337381的博客 2488

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

关于java数据转存中CommonsMultipartFile转换为File

在做图片上传,我的项目中遇到了CommonsMultipartFile要转换为File。经过对CommonsMultipartFile源代码的分析发现它有一个方法getInputStream返回类型还是InputStream这就好办了。在此之前用过强转不允许!直接上代码,问题解决private static void inputStreamToFile(InputStream ins, File ...

幕附 5193

Spring MultipartFile转成java.io.Inputstream 文件与输入流互转

第一种方式 把读到的MultipartFile转存到本地的临时文件,然后再从本地读取这个转存的这个临时文件,从中获取文件流 // 首先 MultipartFile sourceFile; // 处理方式 InputStream inputStream = null; File file = null; file = File.createTempFile("temp", null); sourceFile.transferTo(file); //sourceFile为传入的MultipartFile .

Sonsay的专栏 9939

SpringBoot接收MultipartFile强转CommonsMultipartFile失败

项目目的: 使用MultipartFile接收http post传进来的图片,Controller中把接收到的图像转换为File对象给后续程序使用。   代码实现: SpringBoot MVC接收外部传入的图片,强转失败。代码如下: @PostMapping("/parseImage") public String parseImage(HttpServletRequest re...

亚信大数据平台 钨(W) 6899

SpringMVC的CommonsMultipartFile转成File

通过org.apache.commons.fileupload.disk.DiskFileItem进行相应的转换 先导入: <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload --> <dependency> <groupId>commons-fileupload</groupId> <artifactId&

qq_41745284的博客 233

通过commonsmultipartfile获取文件的绝对磁盘路径_Java教程Java 文件 IO 操作

IO流是java在执行过程中整体执行的核心元素,如何掌握IO流操作,需要通过深度掌握输入输出的技术,加强在java的执行层面提升运行速度,加强java的运行效率,深度掌握java开发输出技巧,拉勾IT课小编分析这一技术。文件目录:文件夹,管理文件,linux下有权限、操作符、用户组、用户等路径分割符:表示windows系统文件目录分割符/表示mac/linux下的路径分割符java代码在windo...

weixin_39566578的博客 2234

file转 MultipartFile

首先导入commons-fileupload-1.3.2.jar 包 方法一: File tempFile = new File("C:\\Users\\lu\\Downloads\\ce1111.pdf"); FileItem fileItem = createFileItem(tempFile, tempFile.getName()); MultipartFile multipartFile = new CommonsMultipartFile(fileItem); /* 创建Fi.

进行中 1695
上一篇: Synchronized关键字
下一篇: MVC模式
coder_flag
博客等级 码龄9年 2粉丝 53原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值