首页 > 其他分享 >上传图片

上传图片

时间:2023-06-12 14:33:32浏览次数:28  
标签:mImagesPath 路径 factory imagesPath 上传 图片

 以此方法来确定上传的文件夹地址。

/**
* 文件上传配置类,结合properties配置
* 最大单个文件上传10MB
* 总数据最大100MB
* */
@Configuration
public class FileUploadConfig {
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
// 单个数据大小
factory.setMaxFileSize(DataSize.parse("102400KB")); // KB,MB
// 总上传数据大小
factory.setMaxRequestSize(DataSize.parse("1024000KB"));
return factory.createMultipartConfig();
}
}

此类来配置,上传的文件最大为多少。

@Configuration
public class FileConfig extends WebMvcConfigurerAdapter {
@Value("${imagesPath}")
private String mImagesPath;

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
if (mImagesPath.equals("") || mImagesPath.equals("${imagesPath}")) {
String imagesPath = FileConfig.class.getClassLoader().getResource("").getPath();
if (imagesPath.indexOf(".jar") > 0) {
imagesPath = imagesPath.substring(0, imagesPath.indexOf(".jar"));
} else if (imagesPath.indexOf("classes") > 0) {
imagesPath = "file:" + imagesPath.substring(0, imagesPath.indexOf("classes"));
}
imagesPath = imagesPath.substring(0, imagesPath.lastIndexOf("/")) + "/picture/";
mImagesPath = imagesPath;
}
registry.addResourceHandler("/api/upload/**").addResourceLocations(mImagesPath);
super.addResourceHandlers(registry);
}
}
这段代码主要是实现 Spring Boot 中静态资源的映射,将指定路径下的图片资源映射到指定 URL 地址上。

  在这个方法中,"/api/upload/**" 表示 URL 路径,mImagesPath 表示图片资源路径。具体的处理逻辑为:

  1. 如果 mImagesPath 为空或等于 ${imagesPath},则获取当前类加载器所在路径下的图片资源路径。
  2. 根据当前类加载器所在路径是否处于 jar 包中或处于 classes 目录下,对图片资源路径进行调整。
  3. 将得到的图片资源路径与 "/picture/" 拼接作为最终的图片资源路径,并将其注册到 "/api/upload/**" 的资源处理器上。
    @Value("${imagesPath}")
private String mImagesPath;
这部分取得是配置文件中的值

 



标签:mImagesPath,路径,factory,imagesPath,上传,图片
From: https://www.cnblogs.com/wawaFish666/p/17474928.html

相关文章

  • php文件上传之白名单00截断实验
    %00截断介绍:0x00,%00,/00在url中%00表示ascll码中的0,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束。但是所谓的if拦截仍会读取后面的后缀达到绕过白名单的效果。当前版本环境:PHP版本低于5.4.24,或者PHP版本在5.5.8到5.6.0之间,且GPC......
  • Magick.NET跨平台压缩图片的用法
    //首先NuGet安装:Magick.NET.Core,Magick.NET-Q16-AnyCPUusingImageMagick;///<summary>///压缩图片///</summary>///<paramname="imageData">图片字节流</param>///<paramname="maxWidth"&......
  • objectARX 插入ole图片简单示意
    代码 //获取BMP文件的数据 HBITMAPhBmp=(HBITMAP)LoadImage(NULL,_T("d:\\123.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE); if(hBmp==NULL){ acutPrintf(_T("FailedtoloadBMPfile\n")); return; } //打开剪贴板 if(!OpenClipb......
  • C# base64字符串转为图片保存到本地
    #regionBase64解码图片//<summary>///图片上传Base64解码///</summary>///<paramname="dataURL">Base64数据</param>///<returns>返回一个相对路径</returns>publicJsonResul......
  • python 模拟form表单流式上传文件
    如果机器上有PycURL,那么可以使用PycURL来上传文件。不过,由于PycURL需要用到curl,在Windows下安装可能会有点麻烦,除PycURL外,也有一些其它实现POST文件上传的方式,比如这儿的2楼有人贴出了一个将文件进行编码之后再POST的方法,另外还有MultipartPostHandler、urllib2_......
  • Net Core 使用Mongodb操作文件(上传,下载)
    NetCore使用Mongodb操作文件(上传,下载)1.Mongodb GridFS文件操作帮助类。GridFS介绍 https://baike.baidu.com/item/GridFS/6342715?fr=aladdinDLL源码:https://gitee.com/chenjianhua1985/mongodb-client-encapsulationDLL文件:链接:https://pan.baidu.com/s/1SpWDtaXjavalJ......
  • WFP必须掌握的技能之自定义控件——实战:自制上传文件显示进度按钮
    自定义控件在WPF开发中是很常见的,有时候某些控件需要契合业务或者美化统一样式,这时候就需要对控件做出一些改造。目录按钮设置圆角按钮上传文件相关定义测试代码话不多说直接看效果默认效果:上传效果:按钮设置圆角因为按钮本身没有CornerRadius属性,所以只能重写Butto......
  • WEB漏洞—文件上传之黑白名单绕过
    文件上传常见验证---后缀名,类型,文件头等1. 后缀名:黑名单,白名单后缀名是直接的验证,分为黑名单(asp,php,jsp,aspx,cgi,war…)和白名单(jpg,png,zip,rar,gif…)。黑名单是不允许那些格式的文件上传,缺陷:添加文件的后缀,如PHP5等;白名单是只允许那些格式的文件上传,其余文件则不允许上传......
  • 现代图片性能优化及体验优化指南
    之前,整个《现代图片性能优化及体验优化指南》分了5篇来发,本文是系列合集,方便大家收藏及连贯阅读。图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。对图片的性能优化及体验优化在今天就显得尤为重要。本文,就将从各个方面阐述,在各种新特性满......
  • echart 多变联动下载图片清缓存
    一个系统中有多个图表的时候,多变联动下载他的图片会多出上次预览的图片的一部分 原因是没有清空echart的缓存//赋值变量this.myChart=this.$refs.chart[0]beforeDestroy(){//清缓存//@ts-ignorethis.myChart.clear();this.myChart={}} ......