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存数据库什么的。

  • 相关阅读:
    进度报告(五)
    大道至简读后感
    进度报告(四)
    进度报告(三)
    进度报告(二)
    进度报告(一)
    18.4---2出现了几次(CC150)
    17.5---珠玑妙算,四个槽,红色黄色绿色蓝色(CC150)
    17.2---#字棋(CC150)
    17.3---阶乘尾多少个0(CC150)
  • 原文地址:https://www.cnblogs.com/Locked-J/p/7111250.html
Copyright © 2011-2022 走看看