首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >若依框架:上传、下载、回显文件怎么处理的,一篇就懂

若依框架:上传、下载、回显文件怎么处理的,一篇就懂

作者头像
知识浅谈
发布于 2024-05-25 00:47:23
发布于 2024-05-25 00:47:23
8.2K00
代码可运行
举报
文章被收录于专栏:分享学习分享学习
运行总次数:0
代码可运行

在使用若依框架上传文件的时候遇到一个问题:在富文本框中上传一个文件传到哪里了,又怎么回显的,这些问题扯出来好多东西哦,且随我一步步看。

🤞主要说的是后端的代码实现,前端的在components组件中的Editor中自己看就行🤞

🎈上传后怎么处理的

先把后端代码贴出来,代码中还调用了各种方法就不粘出来了

代码语言:javascript
代码运行次数:0
运行
复制
    @PostMapping("/upload")
    public AjaxResult uploadFile(MultipartFile file) throws Exception
    {
        try
        {
            // 上传文件路径
            String filePath = RuoYiConfig.getUploadPath();
            // 上传并返回新文件名称
            String fileName = FileUploadUtils.upload(filePath, file);
            String url = serverConfig.getUrl() + fileName;
            AjaxResult ajax = AjaxResult.success();
            ajax.put("url", url);
            ajax.put("fileName", fileName);
            ajax.put("newFileName", FileUtils.getName(fileName));
            ajax.put("originalFilename", file.getOriginalFilename());
            return ajax;
        }
        catch (Exception e)
        {
            return AjaxResult.error(e.getMessage());
        }
    }

上传接口 /common/upload

  1. 接口中首先获取文件要存储的路径 String filePath = RuoYiConfig.getUploadPath(); 因为在配置文件application.yml我们可以找到一个这段代码: 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) profile: D:/ruoyi/uploadPath 就是上传文件的根路径。
  2. 然后对上传的文件进行各种检查:文件大小,文件后缀等等,
  3. 然后开始把上传的文件存到本地 String fileName = FileUploadUtils.upload(filePath, file);
  4. 最后获取文件的url路径 举个例子:文件地址是D:/ruoyi/uploadPath/upload/2024/01/01/12345.jpg 转换后是profile/upload/2024/01/01/12345.jpg 然后存到数据库,发现没有前缀变了,这个时候文件就上传完了,profile/upload/2024/01/01/12345.jpg传回前端。前缀为什么边接着看。

🎈上传后的文件怎么回显和下载

🍮文件回显

在富文本框中文件上传之后,需要进行回显,上传后拿到了地址profile/upload/2024/01/01/12345.jpg,这个时候去访问后端localhost/dev-api/profile/upload/2024/01/01/12345.jpg 访问地址的过程中经历了两步处理 第一步:前端地址映射 localhost/dev-api/ 变成http://localhost:8080

在这里插入图片描述
在这里插入图片描述

第二步: 访问后端 http://localhost:8080/profile/upload/2024/01/01/12345.jpg 会发现没有/profile 这个接口,那这个接口在哪?访问后端最先走过的就是拦截器,查看各种拦截器,最后在这个地方找到了ResourcesConfig配置类中。

在这里插入图片描述
在这里插入图片描述

这个方法会把/profile开头的路径给替换掉 RuoYiConfig.getProfile() 会获取到 最初的文件根路径D:/ruoyi/uploadPath 会自动转向到 RuoYiConfig.getProfile() 目录下寻找对应的资源文件,也就找到了请求文件最后返回file:D:/ruoyi/uploadPath/upload/123456.jpg文件流。

🍮文件下载

和文件回显同理。

🍚总结

大功告成,撒花致谢🎆🎇🌟,关注我不迷路,带你起飞带你富。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
后端富文本图片上传路径 会有prod-api 但是小程序上传富文本内容 不存在prod-api 这样就造成了一个后果是 前端拿不到后台管理系统的富文本图片 后台管理系统点击查看 也查看不了小程序富文本上传的图片 这怎么解决这个问题
后端富文本图片上传路径 会有prod-api 但是小程序上传富文本内容 不存在prod-api 这样就造成了一个后果是 前端拿不到后台管理系统的富文本图片 后台管理系统点击查看 也查看不了小程序富文本上传的图片 这怎么解决这个问题
回复回复点赞举报
推荐阅读
AI人工智能算法工程师系列一(慕K学习分享)
从而提高图像分类的准确率。以下是一个使用VGG16模型的示例,该模型在ImageNet挑战中表现优异。
用户11127530
2024/05/29
2520
【机器学习】—时序数据分析:机器学习与深度学习在预测、金融、气象等领域的应用
时序数据分析(Time Series Analysis)是数据科学中的一个重要领域,涉及到按时间顺序排列的数据的建模、预测和分析。随着数据量的不断增长,传统的统计分析方法逐渐无法满足复杂的时序数据分析需求。近年来,深度学习和强化学习方法的应用,为时序数据分析带来了新的机遇,尤其是在金融市场预测、气象数据分析以及设备故障检测等领域,机器学习技术得到了广泛的应用。
云边有个稻草人
2024/12/29
5350
Transformer聊天机器人教程
在这篇文章中,我们将演示如何构建Transformer聊天机器人。 本文聚焦于:使用TensorFlow Dataset并使用tf.data创建输入管道来使用Cornell Movie-Dialogs Corpus,使用Model子类化实现MultiHeadAttention,使用Functional API实现Transformer。
昱良
2019/05/29
2.5K0
Transformer聊天机器人教程
深度推荐模型——BST [KDD 19][Alibaba]
受Transformer在自然语言处理中取得巨大的效果启发,BST将应用Transformer 用于提取用户行为序列背后的隐藏信息,同时考虑序列的前后顺序,能够更好的表达用户兴趣。
小爷毛毛_卓寿杰
2021/03/22
7000
深度推荐模型——BST [KDD 19][Alibaba]
【机器学习】神经网络的无限可能:从基础到前沿
在当今人工智能的浪潮中,神经网络作为其核心驱动力之一,正以前所未有的速度改变着我们的世界。从图像识别到自然语言处理,从自动驾驶到医疗诊断,神经网络的应用无处不在。本文旨在深入探讨神经网络的各个方面,从基础概念到最新进展,带领读者一窥其背后的奥秘与魅力。
破晓的历程
2024/08/20
3520
GPT4做数据分析时间序列预测之二相当棒2023.5.25
这个错误是因为在你的循环中,你在每次迭代时都试图将'年月'列设置为索引。然而,一旦你在第一次迭代中将'年月'列设置为索引,它就不再是数据框的一部分,所以在后续的迭代中,你不能再次将它设置为索引。
用户7138673
2023/08/16
4460
GPT4做数据分析时间序列预测之二相当棒2023.5.25
深度学习之序列建模的核心技术:LSTM架构深度解析与优化策略
在深度学习领域,循环神经网络(RNN)在处理序列数据方面具有独特的优势,例如语音识别、自然语言处理等任务。然而,传统的 RNN 在处理长序列数据时面临着严重的梯度消失问题,这使得网络难以学习到长距离的依赖关系。LSTM 作为一种特殊的 RNN 架构应运而生,有效地解决了这一难题,成为了序列建模领域的重要工具。
Undoom
2025/05/22
7590
深度学习之序列建模的核心技术:LSTM架构深度解析与优化策略
【论文复现】时序预测:多头注意力+宽度学习
Liyun Su, Lang Xiong和Jialing Yang在2024年发表了题为“Multi-Attn BLS: Multi-head attention mechanism with broad learning system for chaotic time series prediction”的论文,发表在《Applied Soft Computing》杂志上(CiteScore14.3,影响因子8.7)。这篇论文针对混沌时间序列数据的高复杂性和非线性提出了一种新的范式,即将宽度学习模型与多头自注意力机制相结合。在此之前,将这两种高度非线性映射算法融合的主要方法是使用堆叠的多头自注意力来提取特征,然后使用宽度学习模型进行分类预测。这篇论文提出了一种直接将多头注意力模块集成到宽度学习中的方法,从而实现了端到端的预测模型。
Eternity._
2024/11/28
3260
【论文复现】时序预测:多头注意力+宽度学习
Python用Transformer、Prophet、RNN、LSTM、SARIMAX时间序列预测分析用电量、销售、交通事故数据
在数据驱动决策的时代,时间序列预测作为揭示数据时序规律的核心技术,已成为各行业解决预测需求的关键工具。从能源消耗趋势分析到公共安全事件预测,不同领域的数据特征对预测模型的适应性提出了差异化挑战。本文基于某咨询项目的实际需求,通过对比分析五种主流预测模型(SARIMAX、RNN、LSTM、Prophet、Transformer)在多类数据集上的表现,探讨模型选择逻辑与参数调优策略,为行业应用提供可落地的解决方案(点击文末“阅读原文”获取完整智能体、代码、数据、文档)。
拓端
2025/05/23
2860
Python用Transformer、Prophet、RNN、LSTM、SARIMAX时间序列预测分析用电量、销售、交通事故数据
【DS】利用Keras长短期记忆(LSTM)模型预测股票价格
在本教程中,我们将构建一个Python深度学习模型,用于预测股票价格的未来行为。我们假设读者熟悉Python中的深度学习概念,特别是LSTM。
陆勤_数据人网
2018/12/24
3.8K0
【DS】利用Keras长短期记忆(LSTM)模型预测股票价格
时序预测的深度学习算法介绍
深度学习方法是一种利用神经网络模型进行高级模式识别和自动特征提取的机器学习方法,近年来在时序预测领域取得了很好的成果。常用的深度学习模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)、门控循环单元(GRU)、卷积神经网络(CNN)、注意力机制(Attention)和混合模型(Mix )等,与机器学习需要经过复杂的特征工程相比,这些模型通常只需要经数据预处理、网络结构设计和超参数调整等,即可端到端输出时序预测结果。深度学习算法能够自动学习时间序列数据中的模式和趋势,神经网络涉及隐藏层数、神经元数、学习率和激活函数等重要参数,对于复杂的非线性模式,深度学习模型有很好的表达能力。在应用深度学习方法进行时序预测时,需要考虑数据的平稳性和周期性,选择合适的模型和参数,进行训练和测试,并进行模型的调优和验证。来源:轮回路上打碟的小年轻(侵删)
数据STUDIO
2023/09/04
1.9K0
时序预测的深度学习算法介绍
Kats时间序列开源库的使用笔记
Kats是一个用于分析时间序列数据的工具箱,是一个轻量级、易于使用和可推广的框架,用于执行时间序列分析。 时间序列分析是工业数据科学和工程工作的重要组成部分,从理解关键统计数据和特征,检测回归和异常,预测未来趋势。 Kats旨在为时间序列分析提供一站式服务,包括检测、预测、特征提取/嵌入、多元分析等。
悟乙己
2022/05/11
1.6K0
Kats时间序列开源库的使用笔记
Kaggle谷歌大脑大赛教科书版的Transformer金牌方案(含Code)。
谷歌大脑-Ventilator Pressure Prediction金牌方案分享
炼丹笔记
2021/11/10
9140
来了来了!趋势预测算法大PK!
趋势预测在很多应用场景中都会起到至关重要的作用,比如淘宝商家会考虑库存量应该保持在多少才能够满足客户需求,商场希望得知假期会迎来多大的客流量以安排系列活动,机场想要预测五一黄金周会有多大的客运量来做相应的应急部署等。在智能运维领域,趋势预测同样具有一定的理论意义和实际应用价值。
AI科技大本营
2020/05/29
5.3K0
来了来了!趋势预测算法大PK!
Transformer的基本原理
Seq2Seq[1]框架最初是在神经机器翻译(Neural Machine Translation,NMT)领域中提出,用于将一种语言(sequence)翻译成另一种语言(sequence)。其结构如下图所示:
felixzhao
2022/09/26
1.3K0
深入LSTM神经网络的时间序列预测
RNN(循环神经网络)是一种节点定向连接成环的人工神经网络。不同于前馈神经网络,RNN 可以利用内部的记忆来处理任意时序的输入序列,即不仅学习当前时刻的信息,也会依赖之前的序列信息,所以在做语音识别、语言翻译等等有很大的优势。RNN 现在变种很多,常用的如 LSTM、Seq2SeqLSTM,还有其他变种如含有 Attention 机制的 Transformer 模型等等。这些变种原理结构看似很复杂,但其实只要有一定的数学和计算机功底,在学习的时候认认真真搞懂一个,后面的都迎刃而解。
算法进阶
2023/08/28
8850
深入LSTM神经网络的时间序列预测
darts 时序预测入门
darts是一个强大而易用的Python时间序列建模工具包。在github上目前拥有超过7k颗stars。
lyhue1991
2024/06/14
3610
darts 时序预测入门
时间序列预测(一)基于Prophet的销售额预测
传统的时间序列算法很多,例如AR、MA、ARIMA等,对于非专业人员来说显得很难上手。而Prophet相对来说就友好多了,而且预测效果又很不错,所以用它来预测时间序列数据再适合不过了。本文主要参考基于facebook的时间序列预测框架prophet的实战应用[1]。
HsuHeinrich
2023/05/25
1.3K1
时间序列预测(一)基于Prophet的销售额预测
深入探讨Python中的时间序列分析与预测技术
时间序列分析是数据科学中的重要领域,它涵盖了从数据收集到模型构建和预测的整个过程。Python作为一种强大的编程语言,在时间序列分析和预测方面有着丰富的工具和库。本文将介绍Python中常用的时间序列分析与预测技术,并通过代码实例演示其应用。
一键难忘
2024/08/15
2820
一文囊括时间序列方法(源码)
时间序列是指将某种现象某一个统计指标在不同时间上的各个数值,按时间先后顺序排列而形成的序列。典型的时间序列问题,例如股价预测、制造业中的电力预测、传统消费品行业的销售预测、客户日活跃量预测等等。(本文以客户日活跃量预测为例。)
算法进阶
2022/06/01
8620
一文囊括时间序列方法(源码)
推荐阅读
相关推荐
AI人工智能算法工程师系列一(慕K学习分享)
更多 >
目录
  • 🎈上传后怎么处理的
  • 🎈上传后的文件怎么回显和下载
    • 🍮文件回显
    • 🍮文件下载
  • 🍚总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档