MultipartFile上传文件数据库保存进了但是target里面没有图片

MultipartFile上传文件数据库保存进了但是target里面没有图片,第1张

这里,我只想总结一下我一下午研究文件上传,上传功能的思考。也许花费了很多时间,但还是觉得比较值的。

以前一直听说过“项目使用的所有应该保存在服务器上,”一直看过这样的代码:Java后端由各种流组成的处理或着文件的方法。当时其实都是朦胧的,似懂非懂的样子。现在或许是有那么的一点理解了:当项目或者具体说页面中存在大量的时,页面的加载可能会很慢,这时,可能就需要使用一个独立的服务器来专门的读取这些了, 所以才有了服务器的说法。(或许是这样)。

上传功能的具体实现(当然文件也一样):

总的来说是这样的, 我们在页面上通过按钮获取到某张后,会显示在页面上(如果你需要的话),显示的可以是本身,或者是的名字。然后通过ajax,把传到了Java后台,(以什么格式我还不清楚),根据我这一下午的实践,MultipartFile ,这个类可以完全接收到前台传过来的数据。,这里也许有人会问, 传到后台干嘛呢。假设你的前端调用的不是你本项目的Java后台代码,而是另外一个接口Api项目的话, 那么,其实,这个APi项目就可以当作一个服务器了。额,这里仅仅是临时保存了而已,就页面而言,如果是表单,你还需要提交表单。那么表单提交时,你还会保存吗?应该是存在服务器上的地址吧。

MultipartFile 通过 MultipartFile transferTo( new File()), 仅需要这步骤,就可以把存到服务器所在的电脑的任意一个盘或者路径里面。 其实这个很简单,难是难在 文件的创建。(坑了我很久),

new File("d:/test1/test2/test3/demopng"), 类似要创建这样的 File文件时, 你要先判断demopng 的父级路径是否存在,如果不存在则要先创建。否则你也许会报一个错误,“javaioFileNotFoundException 拒绝访问”

也许废话说了很多,下面直接上示例代码, 本实例代码亲测有效可用。本实例 前端采用layui + 后端 springMVC+MultipartFile

页面jsp:

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

<!DOCTYPE html>

<html>

<head>

<title>文件上传demo</title>

<%@include file="/comm/mytagsjsp" %>

</head>

<body>

<fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">

<legend>常规使用:普通

(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:纯手打,望采纳)

以上就是关于MultipartFile上传文件数据库保存进了但是target里面没有图片全部的内容,包括:MultipartFile上传文件数据库保存进了但是target里面没有图片、如何在spring mvc中上传图片并显示出来、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9707715.html

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

发表评论

登录后才能评论

评论列表(0条)

保存