如何在spring mvc中上传图片并显示出来

如何在spring mvc中上传图片并显示出来,第1张

(1)在spring mvc的配置文件中配置:

<bean id="multipartResolver" class="orgspringframeworkwebmultipartcommonsCommonsMultipartResolver">

        <property name="uploadTempDir" value="/tmp" />  <!-- 临时目录 -->

        <property name="maxUploadSize" value="10485760"/> <!-- 10M -->

</bean>

(2)文件上传表单和结果展示页fileuploadjsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@taglib prefix="mvc" uri=";

(3)后台处理UploadControllerjava:

package cnzifangskycontroller;

import javaioFile;

import javaioIOException;

import javaxservlet>}

在上面的upload方法中,为了接收上传的文件,因此使用了一个MultipartFile类型的变量来接收上传的临时文件,同时为了给文件进行重命名,我调用了一个renameFileName方法,这个方法的具体内容如下:

/

  文件重命名

 /

public static String renameFileName(String fileName) {

String formatDate = new SimpleDateFormat("yyMMddHHmmss")format(new Date()); // 当前时间字符串

int random = new Random()nextInt(10000);

String extension = fileNamesubstring(fileNamelastIndexOf("")); // 文件后缀

return formatDate + random + extension;

}

注:上面用到的model——Userjava:

package cnzifangskymodel;

public class User {

private String userName; // 用户名

private String logoSrc; // 头像地址

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

thisuserName = userName;

}

public String getLogoSrc() {

return logoSrc;

}

public void setLogoSrc(String logoSrc) {

thislogoSrc = logoSrc;

}

}

至此全部结束

效果如下:

(PS:纯手打,望采纳)

@RequestMapping(value="getFile")

public ModelAndView getFile(@RequestParam(required = false) MultipartFile nativeUrl) {

Systemoutprintln("文件长度: " + nativeUrlgetSize());

Systemoutprintln("文件类型: " + nativeUrlgetContentType());

Systemoutprintln("文件名称: " + nativeUrlgetName());

Systemoutprintln("文件原名: " + nativeUrlgetOriginalFilename());

Systemoutprintln("========================================");

//如果用的是Tomcat服务器,则文件会上传到\\%TOMCAT_HOME%\\webapps\\YourWebProject\\WEB-INF\\upload\\文件夹中

String realPath = requestgetSession()getServletContext()getRealPath("/WEB-INF/upload");

//这里不必处理IO流关闭的问题,因为FileUtilscopyInputStreamToFile()方法内部会自动把用到的IO流关掉,我是看它的源码才知道的

FileUtilscopyInputStreamToFile(nativeUrlgetInputStream(), new File(realPath, nativeUrlgetOriginalFilename()));

}

<!-- 对静态资源文件的访问,方案一 将无法mapping到Controller的path交给default servlet handler处理

<mvc:default-servlet-handler/> -->

<!-- 对静态资源文件的访问 方案二 -->

<mvc:resources mapping="/images/" location="/WEB-INF/views/front/images/" />

<mvc:resources mapping="/css/" location="/WEB-INF/views/front/css/" />

<mvc:resources mapping="/js/" location="/js/" />

<mvc:resources mapping="/upload/" location="/upload/" />

<mvc:resources mapping="/frame/" location="/frame/" />

<mvc:resources mapping="/slidebox/" location="/WEB-INF/views/front/slidebox/" />

如上图所示,controller类里面在每个处理请求的方法头部都加上了一个@RequestMapping(value = "")注解,这个注解专门用来匹配页面的访问路径。

当SpringMVC框架检测到你在浏览器中输入的地址时

首先会去判断你要访问的资源名称是不是属于静态资源(具有相同名称的或页面),如果找到静态资源,就直接访问这些资源。

如果没找到再去webxml中去检索有没有对应的映射配置,如果有就按照这些映射访问资源。

如果依旧没有找到,这时再根据访问路径去相应的controller类中匹配@RequestMapping(value = "")注解中配置的映射,如果匹配上了就执行对应注解绑定的处理方法,反之则报错提示找不到资源(404错误)。

请教springmvc 路径问题~如果你认可我的回答,请及时点击采纳为满意回答按钮 ~~手机提问的朋友在客户端右上角评价点满意即可。 ~你的采纳是我前进的动力 ~~O(∩_∩)O,记得好评和采纳,互相帮助,谢谢。

以上就是关于如何在spring mvc中上传图片并显示出来全部的内容,包括:如何在spring mvc中上传图片并显示出来、我用from表单提交一个file怎么在后台获取这个file的绝对路径(框架式Spring+SpringMVC)、关于springMVC中静态文件路径问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/9535435.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存