You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取PrimeNG FileUpload组件上传图片的本地文件路径?

PrimeNG FileUpload 获取本地文件路径问题解答

浏览器出于安全沙箱限制,禁止前端JavaScript代码获取用户本地文件的真实完整绝对路径,这是所有浏览器都遵循的通用安全策略,和你用的PrimeNG组件无关,没有任何前端上传组件可以突破这个限制。

  • 你绑定的onUpload回调事件中,$event.files可以拿到所有选中的文件对象,每个文件对象只能获取到文件名,拿不到类似C:\User\images\test.jpg的完整本地路径。部分旧版本浏览器可能会返回C:\fakepath\test.jpg格式的字符串,这里的fakepath是浏览器故意替换的虚假路径,没有实际作用。
  • 如果你的需求是预览上传的图片,不需要真实本地路径,用URL.createObjectURL(文件对象)就能生成临时可访问的预览地址,直接绑定到img标签的src属性即可正常显示。
  • 如果你的需求是把文件传给后端存储,直接把文件对象封装进FormData提交就行,不需要提前获取本地路径,后端接收到文件流后会自行处理存储,返回服务端的文件访问地址给前端使用。

参考代码

你组件中的onBasicUpload方法可以参考如下实现:

onBasicUpload(event: any) {
  // 获取本次上传的文件列表
  const uploadedFiles = event.files;
  
  uploadedFiles.forEach(file => {
    // 仅能获取文件名,无法获取完整本地路径
    console.log('文件名:', file.name);
    
    // 生成图片预览地址
    const previewUrl = URL.createObjectURL(file);
    console.log('图片预览临时地址:', previewUrl);
    
    // 提交到后端的示例
    const formData = new FormData();
    formData.append('upload_img', file);
    // 此处调用你的后端上传接口提交formData即可
  })
}

内容的提问来源于stack exchange,提问作者John D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:15:03