• javaWeb开发中关于eclipse等ide重新部署或重启项目等原因造成上传文件丢失问题解决方案


    在开发项目时,有时候需要用到上传功能,比如头像上传等,其文件会保存到服务器中。但是我发现在用eclipse做项目的过程中,每次重新部署项目,原来上传的文件就会丢失。

    其原因是因为每次项目修改后,eclipse会把我们放在工作空间workspace中的这个项目拷贝到服务器下(如tomcat的webapps目录下)。因为之前上传的文件都存在之前的部署的项目里,所以新部署的项目会直接把原项目覆盖掉。原来上传的文件就都没有了。


    解决方案一:

    在tomcat服务器的webapps下单独建立一个专门存放资源文件的文件夹(xxx)

    在项目里上传文件上传到此文件夹里就可以了。

            要请求文件可以直接用http://localhost:8081/xxx/xxxxx.jpg


    解决方案二:

          用虚拟路径的方式配置一个空项目。在涉及上传的时候直接把文件写到这个配置了虚拟路径的项目里,最终文件会保存到虚拟路径对应的物理盘符

    上。如果是tomcat服务器,在tomcat的server.xml里面配置。但是在实际操作过程中,发现server.xml也会被重写。是因为eclipse工作空间中存在一个

    叫Servers的项目,它里面有一个叫server.xml的文件,在部署项目时,它会把这个文件覆盖掉tomcat服务器中。所以,我们可以把如下配置迁移到

    eclipse下的Servers项目下进行。

    位置如下截图:


    配置在HOST下

    <Host name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false">
    <!-- 虚拟路径配置 -->
    < Context docBase="D://objimgs//upload" path="/objimgs"/>
    </Host>


    请求http://www.***.com/objimags/文件名.jpg的时候,会自动到D://objimgs//upload目录下找相关文件

    参考:http://bbs.csdn.net/topics/391868478

  • 相关阅读:
    迭代器、生成器、内置函数
    函数
    文件操作
    使用 java 做爬虫的简单例子
    关于 spring 使用 mongodb 的 mongotemplate 对象操作数据库,对象注入问题(即该对象能否正常的调用相应的CRUD方法来处理数据)
    eclipse 使用 “全局搜索” 失灵的解决方法
    使用 Qrcode 生成中间带 logo 的二维码!
    将 BufferedImage 对象图片,转成 Base64 编码给前端<img src="编码"/>展示图片用
    使用 Qrcode 生成二维码
    链接转化成二维码
  • 原文地址:https://www.cnblogs.com/chenny3/p/10226230.html
Copyright © 2020-2023  润新知