JAVA 前端上传文件,后端解析文件流并写入数据库_后端怎么把前端传的文件导入-程序员宅基地

技术标签: MultipartFile  java  前端  

controller层: 通过文件流的方式 读取 前端上传的文件 MultipartFile 

上传文件:utf-8编码的csv文件

    @ApiOperation(value = "导入文件")
    @RequestMapping(value = "/updateFieldMapFromCsvfile", method = RequestMethod.POST)
    public BaseResult updateFieldMapFromCsvfile(@RequestParam("file") MultipartFile multipartFile) throws IOException, ParseException {
        BaseResult baseResult = new BaseResult();
        BaseController.execute(null, new ControllerCallback<Long>() {
            @Override
            public void check() {
            }
            @Override
            public Long execute() throws IOException {
                // 更新
                return nodeService.updateFieldMapFromCsvfile(multipartFile);
            }
        }, baseResult);
        return baseResult;

    }

实现层:

   public long updateFieldMapFromCsvfile(MultipartFile multipartFile) throws IOException {
        Reader reader = new InputStreamReader(multipartFile.getInputStream(), "UTF-8");
        BufferedReader br = new BufferedReader(reader);
        br.readLine();//br是迭代器类型的,每readline一次,行数指向next,用于过滤第0行标题
        String line ;
        while ((line = br.readLine()) != null) {
            SqDataNodeFieldMapDO eachData = new SqDataNodeFieldMapDO();
            String item[] = line.split(",");
            eachData.setId(Long.parseLong(item[0]));
            eachData.setOutputNode(item[3]);
            eachData.setOutputField(item[4]);
            eachData.setOutputValueType(item[5]);
            eachData.setSourceNode(item[6]);
            eachData.setSourceField(item[7]);
            eachData.setSourceValueType(item[8]);
            eachData.setLastModer(item[9]);
            eachData.setLinkCode(item[10]);
            eachData.setBizCode(item[11]);
            eachData.setValueUdf(item[12]);
            eachData.setValueCaliber(item[13]);
            fieldMapConfigService.updateFieldMapFromCsv(eachData);//更新数据库
        }
        return 0;
    }

postman调用调试

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Strive_0902/article/details/125818231

智能推荐

Cocos EaseIn,EaseOut,EaseInOut图解_creator easeinout-程序员宅基地

文章浏览阅读3.6k次。链接:https://blog.csdn.net/u014271114/article/details/47703061_creator easeinout

Python 编写程序,输入1*2*3+3*4*5+5*6*7+......+99*100*101_用循环结构实现计算1*2+2*3+3*4+4*5+5*6的值-程序员宅基地

文章浏览阅读4.6k次,点赞8次,收藏13次。初级编程的练习题,大家可以参考一下,如果能帮助到大家更好。_用循环结构实现计算1*2+2*3+3*4+4*5+5*6的值

下拉框显示数据-程序员宅基地

文章浏览阅读116次。Insert title here --请选择-- _下拉框怎么value="

Python 列表嵌套多种实现方式_for temp in data['result']['formcomponentvalues']:-程序员宅基地

文章浏览阅读3.5k次。Python 列表嵌套多种实现方式#coding=utf-8list=[]for i in range(1,101): list.append(i)# print(list)tempList=[]newList=[]while True: num=0 for temp in list: tempList.append(temp) ..._for temp in data['result']['formcomponentvalues']: templist.append(temp.get(

图解无约而来Win7 33in1 V1.3 32位与64位合一(版本齐全装机利器)_无约而来 33in1 oem windows7-程序员宅基地

文章浏览阅读9k次。图解无约而来Win7 33in1 V1.3 32位与64位合一(版本齐全装机利器) 2012-07-17 11:32:31| 分类:默认分类 | 标签:|字号大中小 订阅无约而来近日发布了将Windows 7 33in1 V1.3 32位与64位整合为一个映像的方法,现转载过来供大家学习实践,并将实际操作截图,手把手教你自己制作。自己整合后可以刻录到u盘上(体_无约而来 33in1 oem windows7

Go语言开发Web应用实战——这本书介绍了如何用Golang开发Web应用,涵盖从基础概念到实践应用等内容-程序员宅基地

文章浏览阅读1.1k次。2019年是第四个十年科技革命的开端,也是Golang被广泛应用的一个年份。这几年,Golang的热度不断提升,在开源社区及企业内部也出现了一批拥抱Go的优秀人员。每当我听到有人宣传“Golang开发更快、更安全、更高效”,或者推荐“Go语言入门”时,都会觉得不可思议。Golang作为新一代的编程语言,非常适合用来开发复杂的分布式系统,但同时它也非常简单易懂,可以轻松地学习掌握。在本书中,你将从零开始构建一个完整的基于Golang+Vue.js+MySQL Web应用程序。

随便推点

cmd move 文件到指定目录下 拒绝访问_cmd move 拒绝访问-程序员宅基地

文章浏览阅读6.9k次。移动文件时,提示C:\Users>move Twisted-19.2.1-cp38-cp38m-win_amd64.whl chenminzhen\appdata\local\programs\python\python37拒绝访问。移动了 0 个文件。解决办法:命令提示符——右键——以管理员身份运行,再输入move命令,问题解决!!!C:\WINDOWS\sys..._cmd move 拒绝访问

react 首页加载loading-程序员宅基地

文章浏览阅读8.2w次。首页加载loading,放在#root里面,代码如下:<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> ..._s86w.xyz

conda pack环境迁移并下载安装离线包_conda导出环境离线安装包-程序员宅基地

文章浏览阅读798次,点赞15次,收藏20次。训练服务器为了安全起见,限制不能联网,无法直接创建虚拟环境及安装模型的依赖库,所以需要把另一台测试服务器已经部署好的虚拟环境迁移到训练服务器上,并在不能联网的情况下安装一些离线包。过程记录如下记录。_conda导出环境离线安装包

关于网络连接状态的编程_网络连接用什么程序编写-程序员宅基地

文章浏览阅读894次。1. 可以用WMI (Win2K & XP):(首先要在VS.NET中创建一个项目,然后在添加引用中引用一个.net的装配件:System.Management.dll,这样你的项目才能使用WMI)with Windows 2000 & XP, UNDOCUMENTED: MSNdis_MediaConnectStatus - NdisMediaConnectStatus :_网络连接用什么程序编写

js禁止滚动条滚动并且隐藏滚动条_js 去掉滚动条-程序员宅基地

文章浏览阅读7k次。禁止鼠标滑过滚动条滚动document.body.onmousewheel = function () {return false;}恢复鼠标滑过滚动条滚动document.body.onmousewheel = function () {return true;}禁止键盘控制滚动条滚动document.body.onkeydown = function (e) { ..._js 去掉滚动条

八皇后问题(递归,回溯)_八皇后问题 dfs 堆栈-程序员宅基地

文章浏览阅读2.4k次。八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n×n,而皇后个数也变成n。当且仅当 n = 1 或 n ≥ 4 时问题有解。因此只需要判断放下的当前位置的棋子的位置是否被之前放下的棋子位置_八皇后问题 dfs 堆栈

推荐文章

热门文章

相关标签