我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Vue项目如何获取本地文件夹绝对路径

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Vue项目如何获取本地文件夹绝对路径

Vue项目,实现获取本地的绝对文件夹路径的解决方案

一、前端代码

vue项目下的index中代码如下

1.弹框样式代码

 <el-dialog
      title=""
      :append-to-body="true"
      :visible.sync="routeDialogVisible"
      width="600px"
      :close-on-click-modal="false"
    >
      <el-form :model="routeDialog">
        <el-form-item label="" prop="path">
          <el-input style="width:450px; padding-left:20px" size="mini" v-model="routeDialog.path">
          </el-input>
           <el-button
            style="float: right; margin: 5px 40px 0 0"
            size="mini"
            @click="backRoute()"
            >向上</el-button
          >
        </el-form-item>
        <el-scrollbar style="height: 350px">
          <el-table
            :data="tableData"
            stripe
            highlight-current-row
            style="width:520px; margin-left:15px"
            @row-click="clickData"
          >
            <el-table-column prop="name" label="名称"> </el-table-column>
          </el-table>
        </el-scrollbar>
      </el-form>      <!-- 内容底部区域 -->
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeGetPath()">取 消</el-button>
        <el-button type="primary" @click="confirmRoute()">确 定</el-button>
      </span>
    </el-dialog>

2.导入方法(不要忘记了导入方法和data定义)

import { getMiddlePath } from "@/api/config";

3.方法区代码

 //获取路径的方法
    handleGetPath(path) {
      this.routeDialogVisible = true;
    },
    //关闭窗口
    closeGetPath() {
      this.routeDialogVisible = false;
    },
    //确定按钮
    confirmRoute() {
      this.settingForm.resultPath = this.routeDialog.path;
      this.routeDialogVisible = false;
    },
 //点击进入文件列表
    clickData(row, event) {
      console.log(row);
      getMiddlePath({ orderKey: row.path }).then(response => {
        this.tableData = response.data.list;
        this.routeDialog = row;
        console.log(this.routeDialog);
      });
    },
    //向上一级
    backRoute() {
      if (this.routeDialog.path.endsWith("\\")) {
        var len = this.routeDialog.path.lastIndexOf("\\");
        var sub = this.routeDialog.path.substring(0, len);
        getMiddlePath({}).then(response => {
          this.tableData = response.data.list;
        });
      } else {
        var len = this.routeDialog.path.lastIndexOf("\\");
        if (len == 2) {
          var sub = this.routeDialog.path.substring(0, len);
          getMiddlePath({ orderKey: sub + "\\" }).then(response => {
            this.tableData = response.data.list;
            this.routeDialog.path = sub + "\\";
          });
        } else {
          var sub = this.routeDialog.path.substring(0, len);
          console.log(sub);
          this.routeDialog.path = sub;
          getMiddlePath({ orderKey: sub }).then(response => {
            this.tableData = response.data.list;
          });
        }
      }
    },

4.api接口中的config.js代码

export function getMiddlePath(data) {
  return request({
    url: '/config/fileList',
    method: 'post',
    data
  })
}

二、后端代码

在这里插入图片描述

controller层代码

 	@PostMapping("fileList")
    @NoLogin
    @ResponseBody
    public ListRes<FileInfo> fileList(@RequestBody BaseListReq req) {
        return configService.fileList(req);
    }

service接口interface

ListRes<FileInfo> fileList(BaseListReq req);

service层代码impl

@Override
    public ListRes<FileInfo> fileList(BaseListReq req) {
        String path = req.getOrderKey();
        List<FileInfo> list;
        if (StringUtils.isNullOrEmpty(path) || ROOT_PATH.equals(path)) {
            File[] subFiles = File.listRoots();
            list = new ArrayList<>(subFiles.length);
            for (File subFile : subFiles) {
                FileInfo fileInfo = new FileInfo(subFile);
                list.add(fileInfo);
            }
        } else {
            File folder = new File(path);
            if (!folder.exists()) {
                return new ListRes<>(ResponseEnum.FILE_NOT_EXIST);
            }
            if (!folder.isDirectory()) {
                return new ListRes<>(ResponseEnum.PARAM_ERROR);
            }
            File[] subFiles = folder.listFiles();
            if (subFiles == null) {
                return new ListRes<>(ResponseEnum.PARAM_ERROR);
            }
            list = new ArrayList<>(subFiles.length);
            for (File subFile : subFiles) {
                if (subFile.isDirectory()) {
                    FileInfo fileInfo = new FileInfo(subFile);
                    list.add(fileInfo);
                }
            }
        }
        ListRes<FileInfo> res = new ListRes<>(ResponseEnum.SUCCESS);
        res.setList(list);
        return res;
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Vue项目如何获取本地文件夹绝对路径

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Vue项目如何获取本地文件夹绝对路径

这篇文章主要介绍了Vue项目如何获取本地文件夹绝对路径问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-28

linux如何获取文件绝对路径

在Linux中,有几种方法可以获取文件的绝对路径:1. 使用`pwd`命令:在文件所在的目录中执行`pwd`命令,将显示当前工作目录的绝对路径,再加上文件名,即可得到文件的绝对路径。2. 使用`readlink`命令:`readlink -
2023-09-15

Java如何实现动态获取文件的绝对路径

本文小编为大家详细介绍“Java如何实现动态获取文件的绝对路径”,内容详细,步骤清晰,细节处理妥当,希望这篇“Java如何实现动态获取文件的绝对路径”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言我们知道在 J
2023-07-05

tkinter如何实现打开文件对话框并获取文件绝对路径

这篇文章主要介绍了tkinter实现打开文件对话框并获取文件绝对路径问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-28

bash shell如何获取当前脚本的绝对路径

本篇内容主要讲解“bash shell如何获取当前脚本的绝对路径”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“bash shell如何获取当前脚本的绝对路径”吧!有时候,我们需要知道当前执行的输
2023-06-29

VBS如何遍历文件或文件夹路径输入文件的所有绝对路径

这篇文章将为大家详细讲解有关VBS如何遍历文件或文件夹路径输入文件的所有绝对路径,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。示例代码如下:Function listFilesPath(filepath)
2023-06-08

java如何获取当前项目的路径地址

在Java中,可以使用以下代码获取当前项目的路径地址:1. 使用`System.getProperty("user.dir")`方法获取当前项目的工作目录路径,代码如下:```javaString projectPath = System.
2023-09-13

shell如何遍历文件夹内所有文件并打印绝对路径

小编给大家分享一下shell如何遍历文件夹内所有文件并打印绝对路径,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!例如你有一个文件夹路径是 /wls,如果想要遍历这个文件夹内的所有文件,并将它们保存到数组中,利用shell你
2023-06-09

Python PyQt5如何实例化对话框获取文件路径

这篇文章主要介绍“Python PyQt5如何实例化对话框获取文件路径”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python PyQt5如何实例化对话框获取文件路径”文章能帮助大家解决问题。实例
2023-07-05

vue-cli项目打包后运行文件路径报错如何解决

今天小编给大家分享一下vue-cli项目打包后运行文件路径报错如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。问题:刚
2023-07-04

vue中input标签上传本地文件或图片后获取完整路径的解决方法

本文给大家介绍vue中input标签上传本地文件或图片后获取完整路径,如E:\medicineOfCH\stageImage\xxx.jpg,本文给大家分享完美解决方案,感兴趣的朋友跟随小编一起看看吧
2023-05-17

详解C/C++如何获取路径下所有文件及其子目录的文件名

这篇文章主要为大家详细介绍了在C/C++中如何获取路径下所有文件及其子目录的文件名,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
2023-03-14

编程热搜

目录