weixin_45900447 2020-01-03 10:06 采纳率: 0%
浏览 691

文件上传至项目部署运行的目录下,如何改为上传到服务器项目源码目录下

项目使用myeclipe写的。
源码在D:\Workspaces\MyEclipse 10\frame目录下,项目名为frame。
现在文件上传功能实现了 将文件上传至tomcat服务器上运行的webapp目录下的file文件夹下,例如D:\Program Files\apache-tomcat-7.0.96\webapps\frame\file\a.txt 为本地上传a.txt成功后的路径。现在要求将文件上传至D:\Workspaces\MyEclipse 10\frame\WebRoot\file目录下,以后将项目在公司服务器上运行,就是上传文件至服务器源码文件夹下,路径不能写死,请问要如何实现?
以下为上传功能主要的源码:

            String Path =request.getSession().getServletContext().getRealPath("");

            String basePath =Path+ "\\file";

            // 如果文件目录不存在,就执行创建
            File targetFile = new File(basePath);

            if (!targetFile.isDirectory()) {
                targetFile.mkdirs();
            }   

            // 拼接目标文件
            File outfile = new File(basePath+ File.separator + file.getOriginalFilename());
            // 获取本地文件输入流
            InputStream stream = file.getInputStream();
            // 声明服务器要存储的目标文件输出流
            FileOutputStream fos = new FileOutputStream(outfile);

            // 写入目标文件
            byte[] buffer = new byte[1024 * 1024];
            int byteRead = 0;
            while ((byteRead = stream.read(buffer)) != -1) {

                fos.write(buffer, 0, byteRead);
                // 把缓冲区的内容强制的写出,避免关闭流时丢失数据 
                fos.flush();

            }
            // 关闭流
            fos.close();
            stream.close();
  • 写回答

1条回答

  • zhshchilss 2020-01-03 16:38
    关注

    把上传路径写到一个配置文件里,读配置文件

    评论

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大