zoukankan      html  css  js  c++  java
  • 【Java】服务器文件存储问题

    问题:

    服务器重新部署war包后,项目下上传到服务器的图片会丢失

    解决方法:

    通过tomcat虚拟目录来实现上传文件的分开存储,通过对服务器类型的判断来指定上传路径。

    Java判断服务器操作系统类型,用来区分本地测试上传路径和服务器上传路径:

    String imageDir = "/images/upload/";
    //判断本地windows还是服务器linux
    String os = System.getProperty("os.name");
    String directory = imageDir;
    if(os.toLowerCase().startsWith("win")){
        directory = request.getSession().getServletContext().getRealPath(imageDir);
    }
    

    修改tomcat的server.xml,<Host>中添加

    <Context path="/images/upload" docBase="/images/upload" debug="0" reloadable="true"/>
    

    这样就可以吧图片存储在服务器的/images/upload路径,通过/images/upload/1.jpg来获取图片了

    以上方法可以解决腾讯云的问题,本地的IDEA和新浪云,启动tomcat的方式不像手动启动服务器一样,server.xml的修改都不太好用,还是需要对专门的服务器来确定对应存储方式,类似新浪云应该用他的Storage。
    以后需要了解更多其他方式的存储,或者考虑图片直接base64存数据库什么的。

  • 相关阅读:
    交换相邻字符(CharBuffer)
    ANSI和UNICODE
    关键路径
    拓扑排序 java
    MySql 中group by使用
    面试题2
    面试题
    K8S如何限制资源使用
    Kubernetes中配置Pod的liveness和readiness探针
    sed入门详解教程
  • 原文地址:https://www.cnblogs.com/Locked-J/p/7111250.html
Copyright © 2011-2022 走看看