MultipartFile上传图片的写法,记录一下。

上传图片的工具:

代码:

 1 import org.springframework.stereotype.Component;
 2 import org.springframework.web.multipart.MultipartFile;
 3
 4 import javax.servlet.http.HttpServletRequest;
 5 import javax.servlet.http.HttpSession;
 6 import java.io.File;
 7 import java.io.IOException;
 8 import java.text.SimpleDateFormat;
 9 import java.util.Date;
10 import java.util.UUID;
11
12 @Component
13 public class HttpRequestUploadServiceImpl implements HttpRequestUploadService {
14
15     public void uploadImage(MultipartFile file, HttpSession session, HttpServletRequest request) throws IOException {
16         System.out.println("开始上传图片");
17         request.setCharacterEncoding("utf-8");
18         if (null != file) {
19             //获得当前项目所在路径
20             String pathRoot = request.getSession().getServletContext().getRealPath("");
21             System.out.println("当前项目所在路径:" + pathRoot);
22             //生成uuid作为文件名称
23             String uuid = UUID.randomUUID().toString().replaceAll("-", "");
24             System.out.println("文件名称:" + uuid);
25             //获得文件类型(判断如果不是图片文件类型,则禁止上传)
26             String contentType = file.getContentType();
27             System.out.println("文件类型:" + contentType);
28             //获得文件后缀名称
29             String imageName = contentType.substring(contentType.indexOf("/") + 1);
30             System.out.println("文件后缀名称:" + imageName);
31
32             String filePath = "F:\\";
33             //根据日期来创建对应的文件夹
34             String datePath = new SimpleDateFormat("yyyy/MM/dd/").format(new Date());
35             System.out.println("日期:" + datePath);
36             //根据日期分类来创建对应的文件夹
37             String path = filePath + datePath;
38             //如果不存在,则创建新文件夹
39             File f = new File(path);
40             if (!f.exists()) {
41                 f.mkdirs();
42             }
43             //新生成的文件名称
44             String fileName = uuid + "." + imageName;
45             System.out.println("新生成的文件名称:" + fileName);
46             session.setAttribute("fileName", fileName);
47             //图片保存的完整路径
48             String pathName = path + fileName;
49             System.out.println(pathName);
50             //图片的静态资源路径
51             String staticPath = "/upload/images/" + fileName;
52             System.out.println("静态资源路径:" + staticPath);
53             //复制操作
54             //将图片从源位置复制到目标位置
55             file.transferTo(new File(pathName));
56         }
57     }
58 }

原文地址:https://www.cnblogs.com/wangquanyi/p/11328879.html

时间: 2024-10-19 05:43:53

MultipartFile上传图片的写法,记录一下。的相关文章

上传图片的写法

<form id="uploadAvatarForm" action="{% url "upl:upload" %}" method="post" enctype="multipart/form-data">        {% csrf_token %}        <input type="file" id="uploadAvatar" nam

django中上传图片的写法(转)

view参数 @csrf_exemptdef before_upload_avatar(request):    before = True    return render_to_response('accounts/before_upload_avatar.html',                              {'before': before},                              context_instance=RequestContext(re

javaRMI写法记录

服务器 必须针对端口开启注册服务器LocateRegistry.createRegistry(port),上述方法会返回一个注册服务器registry 1. 开启rmi的方法可以使用全局的方法 Naming.rebind("rmi://127.0.0.1:2222/testClass", testClass); 会自动向端口为2222的注册服务器注册服务,所以执行之前必须开启注册服务器 2. 也可以调用注册服务器自己的绑定服务的方法 registry.rebind("test

上传图片后台写法

[HttpPost] public ActionResult UpFile() { int count = Request.Files.Count; for (int i = 0; i < count; i++) { WebTest.Entity.FileInfo fileInfo = new WebTest.Entity.FileInfo(); HttpPostedFileBase file = Request.Files[i]; string[] NameTpye = file.FileNa

Ext的学习记录

学习Ext有一年多了想把Ext的一些基本的写法记录下来: 1.遮罩 var box = Ext.MessageBox.show({                msg : '正在确认数据,请稍候--',                progressText : '',                width : 200,                height : 100,                progress : false,                closable

springmvc结合base64存取图片到mysql

简介: 1.jsp通过MultipartFile上传图片到后台 2.后台把上传的图片通过base64转换成字符串存到mysql 3.从mysql读取图片字符串,通过base64反转成byte数组,再显示到jsp 1.mysql表结构 2.影射对象 package net.spring.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; impor

SpringMVC文件上传实现

SpringMVC(注解)上传文件需要注意的几个地方:1.form的enctype="multipart/form-data",这个是上传文件必须的2.applicationContext.xml配置: <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.

mybatis中映射文件和实体类的关联性

mybatis的映射文件写法多种多样,不同的写法和用法,在实际开发过程中所消耗的开发时间.维护时间有很大差别,今天我就把我认为比较简单的一种映射文件写法记录下来,供大家修改建议,争取找到一个最优写法~~: 以User对象和UserMap.xml为例讲解,代码如下: User为用户实体类(仅作为讲解,可以只关注引用类型变量,get/set方法省略): import com.google.common.collect.Lists; import com.gukeer.common.persisten

与后台交互常见问题

1.图片的宽度固定.不然出现各种问题.当用户上传大的图片时易出现问题. 2.PC端需要兼容手机端的页面,如果<P>标签的字体大小不受设置的控制,在手机端往往会偏大很多,需要设置P标签的高度为百分比高度,外面的<div>容器的高度伸缩,所以也可以达到伸缩的效果. 3.在P标签中,该断行的时候就断行.不然出现文字跑到屏幕外面去了. ①断行代码,自动换行: word-wrap: break-word; //在长单词或 URL 地址内部进行换行. 另外一个值是:normal:只在允许的断字