首页 > 其他分享 >自定义上传图片到服务器出现了上传失败的问题

自定义上传图片到服务器出现了上传失败的问题

时间:2024-05-09 15:01:37浏览次数:19  
标签:String objectName upload registry file 服务器 上传 自定义

1、上传路径没改动

这里在上传的时候发现存入路径是windows版本的

           //读取原始文件名
            String fileName = file.getOriginalFilename();
            //获取后缀名
            String suffixName = fileName.substring(fileName.lastIndexOf("."));
            //构造新文件名称
            String objectName = UUID.randomUUID() + suffixName;
            log.info("上传的文件名为:" + objectName);
            // 设置文件存储路径(G盘),你可以存放在你想要指定的路径里面。
            String filePath = "C://local//upload//";
            String path = filePath + objectName;
            File dest = new File(path);
            // 检测是否存在目录
            if (!dest.getParentFile().exists()) {
                dest.getParentFile().mkdirs();// 新建文件夹
            }
            file.transferTo(dest);// 文件写入
            String url = "http://localhost:8080/upload/" + objectName;
            return Result.success(url);

这里改动为String filePath = "/services/img/upload";

2、返回的路径是固定的,这一点在上传到linux服务器上就失效了

          InetAddress ip = InetAddress.getLocalHost();
          log.info(String.valueOf(ip.getHostAddress()));
          String url = "http://" + ip.getHostAddress() + ":8080/upload/" + objectName;

请注意,这段代码可能不会总是按预期工作,因为它依赖于环境和安全设置。在某些情况下,例如在容器化环境或者有特殊网络配置的环境中,它可能无法正确检索到本机的IP地址。

3、改动文件路径后忘记设置根路径

这里有两种方法,一是在配置资源文件中设置静态资源设置,spring.resources.static-locations=file:/path/to/your/static/
二是自定义映射规则,可以使用WebMvcConfigurer接口来自定义规则

 protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始设置静态资源映射...");
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
        //registry.addResourceHandler("/upload/**").addResourceLocations("file:C://local//upload//");
        registry.addResourceHandler("/upload/**").addResourceLocations("file:/services/img/upload");
    }

在配置项里面设置静态资源的映射

标签:String,objectName,upload,registry,file,服务器,上传,自定义
From: https://www.cnblogs.com/sadanyaoquriben/p/18182076

相关文章

  • 自定义协议通信协议实现简易群聊
    基础需求简易版聊天室,仅为演示自定义协议,所以只添加了登录登出功能。代码部分相当粗糙,很多场景没有进行细致考虑,仅展现了一个思路。首先进行一下基本流程分析服务端启动以后,监听某个地址和端口,接收新的客户端连接。连接建立以后,客户端发送登录请求,服务端进行校验并返回请......
  • 微信小程序使用微信云托管添加自定义域名并转发到pexels.com
    背景:我要在小程序上显示pexels.com上的图片,然后我得先把pexels.com的域名添加到小程序的request合法域名中,但是pexels.com是国外的,在国内没有备案所以添加不了。解决方案就是:用一个已经备案好的域名进行转发,转发的服务器我选择的是微信云托管,备案好的域名还需要ssl,没有的话本文会......
  • 自定义Behavior
    自定义Behavior实现功能在鼠标滚轮滚动时,ComboBox的SelectIndex也实现递增和递减CodepublicclassComboxMouseWheelBehavior:Behavior<ComboBox>{protectedoverridevoidOnAttached(){AssociatedObject.MouseWheel+=ComboxMouseWheel;}......
  • 文件上传--二次渲染
    二次渲染原理在上传时,网站对图片进行二次渲染,可以使图片体积更小,相对模糊一些,占用带宽减小,但是当里面存在恶意代码时,可能会被省略,导致图片马中的恶意代码被清除代码分析 imagecreatefrompng图片预处理函数用于从PNG图像文件中创建一个新的图像资源绕过图片二次渲染攻击......
  • 自定义一个radio
    html<viewclass="radio-out":style="{'border-color':selectFlag?'blue':''}"><viewclass="radio-in":style="{'background-color':selectFlag?'blue':'......
  • Markdown文件上传到博客图片处理
    Markdown文件上传到博客图片处理在本地编写Markdown文章并准备上传到博客园时,经常会遇到的一个挑战是本地图片无法直接显示,因为它们存储在本地文件系统中。为了解决这个问题,有两种常见的策略:1.第一种策略是将图片上传到图床,并在文章中直接使用图片的外部链接。这种方法的好处是......
  • El-Upload组件上传图片并添加水印
    背景有的时候我们需要在上传图片中添加一些水印标识,然后上传至服务器效果图代码需求:点击直接预览图片,而不需要使用dialog上传图片添加水印后才预览图片上传图片文件添加水印。使用watermarkjs库转换将添加水印的图片转换成base64,更新预览图片的内容,否则预览的......
  • MQTT服务器连接不上的问题
    问题描述环境:阿里云服务器Ubuntu22.04.3LTS,安装mosquitto后,在虚拟机端订阅消息出现报错(以前用阿里云Ubuntu20.04LTS的服务器装上就能用),以下服务器ip是我乱填的mosquitto_sub-t/iotstuff-h129.25.125.124-p1883Error:Connectionrefused解决办法云服务器ECS->安......
  • mfc自定义控件的自动布局
    **CBRS_ALIGN_RIGHT是MFC(MicrosoftFoundationClass)中的一个标志,用于指示控件条可以停靠在框架窗口的客户区域右侧**。 在MFC中,窗口布局和控件的管理是一个重要的功能,尤其是在涉及到用户界面设计时。MFC提供了一套完整的机制来允许开发者创建和管理应用程序的界面,包括控......
  • websocket-sharp:.NET平台上的WebSocket客户端与服务器开源库
    1.简介:websocket-sharp提供WebSocket客户端和服务器库,基于C#开发的,并遵循WebSocket协议规范,使得开发人员能够轻松地在.NET应用程序中实现WebSocket通信。https://github.com/sta/websocket-sharpwebsocket-sharp特色功能有:1、简洁易用的API:提供清晰且直观的API接......