我建议图片上传,老师应该重新讲一下,或者单独作为一个知识点讲一下,感觉云里雾里的?乱七八糟

我建议图片上传,老师应该重新讲一下,或者单独作为一个知识点讲一下,感觉云里雾里的?乱七八糟

我建议图片上传,老师应该重新讲一下,或者单独作为一个知识点讲一下,感觉云里雾里的?乱七八糟

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小蓝 2023-09-12 17:41:25

    同学你好,图片上传在不同框架下的处理方式是不一样的,例如在Servlet、SpringMVC和SpringBoot中的处理方式都不同,如果都进行讲解,会有大量重复的内容。不过同学的诉求是合理的,老师会记录并反馈。

老师可以帮同学梳理一下图片上传的流程,同学参考这个流程再看一下课程中是如何使用代码实现的,可能会对同学的学习有帮助:

    一、接收前端发送的文件

        在参数位置使用MultipartFile类来接收文件(不止是图片,也可以是视频等所有的二进制文件)

    二、处理文件信息

        1.处理文件名:这一步的目的是两个,一个是防止文件重名,另一个是为了隐藏原文件名(原文件名可能是不合法的或者包含敏感词的)。

        2.处理文件信息:这一步根据业务逻辑,处理的内容也不相同,除去课程中处理文件名,也有可能会解析文件的磁盘占用等,但是最终都会将文件重新封装为一个Java对象,课程中是封装为File对象。

    三、文件进行存储

        1.获取文件处理路径:此处可以是项目的相对路径、磁盘的绝对路径、文件服务器的IP和端口等等方式。

        2.校验存储路径:存储路径并不是一定可用的,例如文件夹(通常称为目录)不存在、文件夹是只读的等等。课程中只处理了不存在这个可能性。

        3.文件进行存储:使用框架的存储方法,将文件存储到文件夹中。

    四、返回处理结果

        处理结果通常是两种,一种是正常进行了存储,此时根据业务需要决定是否返回存储路径以供前端进行回显;另一种是存储失败,此时需要返回具体的错误信息,供前端回显错误原因或者信息。

    几乎所有上传大致都是这个流程,课程中实际上也是这样的流程,只不过老师没有明确的梳理这个过程,而是进行到哪一步就讲解到哪里,同学对于这样的流程需要先进行总结,然后再学习具体的代码实现方式。

祝学习愉快~

  • 提问者 AbelZephyr #1

    文件上传流程是懂得,

    我不懂的就是返回的URI那个地方的代码,还有就是图片在访问的时候的设置自定义静态资源映射目录

    2023-09-12 17:44:41
  • 好帮手慕小蓝 回复 提问者 AbelZephyr #2

    同学你好,这个位置确实是老师交代的不够清楚。

    1.处理URI是为了两个目的,一个是只传递需要的信息,不需要的信息直接截去。另一个目的是保护服务器地址,避免直接访问文件服务器。

    2.设置自定义静态资源目录:如果不进行设置,项目是无法访问当文件的,因为文件没有直接存储在项目的根目录下。如果按照同学之前问答中的处理方式,存储在根目录下就不需要设置了,但是实际上并不会这么做。另外一个目的和上一点是一样的,为了保护服务器地址。

    祝学习愉快~

    2023-09-12 18:01:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java工程师 2024版
  • 参与学习       2020    人
  • 提交作业       1249    份
  • 解答问题       1203    个

2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师