请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

input上传文件伪路径问题

图片描述
为什么在老师这里上传文件之后,会存在一个路径path呢,正常好像是获取不到的,怎么才能获取到path呢
图片描述

正在回答 回答被采纳积分+3

插入代码

2回答

张轩 2025-03-20 09:49:21

两位同学

找到原因了,最新版的 File 对象移除了 path这个属性:https://www.electronjs.org/docs/latest/api/file-object

推荐使用 webUtils.getPathForFile 获取对应的路径,替换为这个方法就可以了。

所以这里要简单修改一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// preload.ts 多加一个方法
getFilePath: (file: File) => webUtils.getPathForFile(file),
// 注意定义文件也改一下
getFilePath: (file: File) => string;
 
// 然后在MessageInput 中调用这个就可以
const onCreate = () => {
    if(model.value && model.value.trim() !== '') {
        if (selectedImage) {
            const filePath = window.electronAPI.getFilePath(selectedImage)
            emit('create', model.value, filePath)
        else {
            emit('create', model.value)
        }
    selectedImage = null
    imagePreview.value = ''
}
}


0 回复 有任何疑惑可以回复我~
  • 提问者 是奶茶呀 #1
    收到,谢谢老师
    回复 有任何疑惑可以回复我~ 2025-03-25 21:17:33
张轩 2025-03-14 15:46:49

同学你好

请问你使用的是什么系统?windows 还是 mac?有可能 windows 和 mac 在这里File 对象的属性不同,能否提供一下你的源代码(git),我先看下,然后看看 windows 要怎样处理下

0 回复 有任何疑惑可以回复我~
  • 提问者 是奶茶呀 #1
    是windows,仓库地址https://git.imooc.com/anzaigo/v-chat.git
    回复 有任何疑惑可以回复我~ 2025-03-15 10:33:00
  • 老师,我mac系统也是这样的 files里没有path属性,请问一下这个怎么解决?
    回复 有任何疑惑可以回复我~ 2025-03-19 20:41:38
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号