?????

?????

1.PersonInfo为什么从request.getSession().getAttribute("user")获得,而不是

直接request.getAttribute("user")获得?

2.以下理解是否正确

shopImg.getInputStream()是以InputStream型获得图片的输入流,但是无法获得图片的文件名

shopImg.getOriginalFilename()是以CommonsMultipartFile型获得图片文件名单纯来获得扩展名

Thumbnails.of()无论是文件流还是输入流都能获得图片内容

以上是否正确?若错误请告知

此外还有一个问题。InputStream和CommonsMultipartFile的关系


正在回答

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

2回答

同学你好,在registershop中shopImg.getInputStream()是调用了CommonsMultipartFile的getInputStream方法获取到InputStream类型的流内容,例如:

http://img1.sycdn.imooc.com//climg/5edb5c320909f0e409870346.jpg

如上所示,书写是没有问题的呐。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

好帮手慕小班 2020-06-06 12:07:49

同学你好,1、request.getSession().getAttribute("user"),直接从session中获取,一个是因为,在存入时就是向session中存入,所以取出时也要在session中取出。

http://img1.sycdn.imooc.com//climg/5edb128009e4309907130266.jpg

另一个原因是如果将user存入request中,就只在当前请求中有效,如果存入session中,在当前会话中就都可以获取到,所以将user存入了session。

    2、同学的说法是正确的。shopImg.getInputStream()是以InputStream型获得图片的输入流。

       CommonsMultipartFile是MultipartFile的实现类,类中有getOriginalFilename()方法,可以获取上传文件的名称。

      Thumbnails.of()无论是文件流还是输入流都能获得图片内容是正确的,例如:

http://img1.sycdn.imooc.com//climg/5edb1506093eeb5b08560628.jpg

   InputStream是JDK中的的字节输入流,是io包下的所有字节输入流的父类。

CommonsMultipartFile是CommonsMultipartResolver文件上传解析下的子类,是一个文件流的形式,它还可以读取获取上传音视频文件。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 焰痕 #1
    还有一个问题,shopImg在registerShop方法中定义的是CommonsMultipartFile型,但是却直接用InputStream型使用shopImg.getInputStream()来获得图片输入流,没有问题吗?
    2020-06-06 16:08:49
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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