---
source: "https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/e320b54e-433d-4c16-aa47-e998d02e983c"
publicId: "e320b54e-433d-4c16-aa47-e998d02e983c"
---

# 出现【您访问的文件资源不存在】问题排查

问题大概现象：整个系统内点击附件或者图片展示，偶发或者必现【您访问的文件资源不存在】提示

![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1269630987600691219&type=imgs)

# **问题可能原因及排查步骤：**

**第一步：确认系统使用的是什么存储，若不清楚请参考文档【**[**https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/24a71bee-02f7-4fe8-934a-c06eb6b43eac**](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/24a71bee-02f7-4fe8-934a-c06eb6b43eac)**】**

## **1、如果使用的云存储**

 （1）拿到文件id（参考文档最下面【如何拿到文件id】）

 （2）根据文件id查询文件的存储路径（组合服务 库名一般是 core-business，单体库名一般是。eoclogyE10，数据加工，可以选择 local-file）

 select file\_path,file\_url from file\_storage\_info where file\_url = (select url from fileobj where id = 文件id)

 如果是聊天消息里面的文件

select file\_path,file\_url from file\_storage\_info where file\_url = (select url from im\_fileobj where id = 文件id)

file\_path/file\_url 就是完整的物理文件存储地址

 （3）根据完整的路径去云存储的桶下看文件是否存在（云存储桶不清楚，请根据上面第一步认系统使用的是什么存储的文档中确认）

 如果不存在，如果做了迁移，则考虑是物理文件未迁移导致，请重新迁移

 如果存在（可能性极低）则考虑数据绑定的存储规则是有问题的，需要查数据库确认，请参考下面的【根据文件id获取文件的存储信息】来判断文件绑定的存储是否正确

## 2、如果是本地存储

## 问题一、NFS挂载未共享导致

** 请确认：**

**（1）客户使用的是本地存储，且确认使用了文件服务器进行挂载 **

**（2）如果是使用的对象存储，则和此原因无关，****直接看问题二****！！！**

**（3）如果客户只有一台服务器，****则和此原因无关，直接看问题二！！！**

** 可能原因：当服务器断电重启、nas 存储挂载故障、磁盘空间不足等都会导致挂载被卸载，导致无法访问到物理文件**

** 确认步骤：**

1.   先去运维平台-监控告警，查看是否有NFS挂载的异常告警，若有，则直接联系告警上的部署人员处理

2.  若没有监控告警信息，则去运维平台查看，【应用节点和nginx节点的服务器】，打开这些服务器，在服务器上执行 df -h，看是否有挂载信息，若其中有台节点没有挂载信息，则找运维部署人员处理

 一定要在E10应用节点nginx节点的服务器上看！！！！不清楚的去运维平台上确认！！！！

![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1175768278301761537&type=imgs)

  
![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1175768475825487907&type=imgs)

## 问题二、迁移路径不对或者物理文件未迁移

** 可能原因：文件是迁移到新环境上的，可能迁移的路径不对，或者物理文件未正常迁移到新环境，或者文件存储的绑定关系不对**

** 确认步骤：**

1、拿到文件id（参考文档最下面**【如何拿到文件id】**）  
  
2、获取附件ID后查询数据库路径：

```java
select file_path,file_url from file_storage_info where file_url = (select url from fileobj where id = 文件id)

file_path/file_url 就是完整的物理文件存储地址

 如果是聊天消息里面的文件 

select file_path,file_url from file_storage_info where file_url = (select url from im_fileobj where id = 文件id)

file_path/file_url 就是完整的物理文件存储地址
```

3、检查物理文件是否存在

根据步骤2获取的完整物理文件路径，服务器上的存储路径查是否有对应的文件，没有则说明物理文件未能正确迁移，或者迁移的路径不对

**参考示例（这个是举例子！！！做参考说明！！！）：**  
 比如：file\_path 的值是。/nfs/data/truydusss/2025/06/07     file\_url 的值是 fsdfsdfds000fd8f3sffsdfsd  
  
则完整的路径是 /nfs/data/truydusss/2025/06/07/fsdfsdfds000fd8f3sffsdfsd  
  
到【运维平台-服务启停】上，确认 E10（组合服务是 core-business 、单体部署是E10） 节点部署的服务器，去服务器确认   /nfs/data/truydusss/2025/06/07/fsdfsdfds000fd8f3sffsdfsd 是否存在，不存在则说明，物理文件没有迁移过来，或者迁移的路径不正确

4、若对应的物理文件是存在的，但是又访问不到，则可能是存储目录的问题，导致E10 服务没有权限访问到存储中的文件，需要联系部署的同事确认服务启动权限和存储目录的权限问题

# 如何拿到文件id

 通过 f12 拿到请求链接上的文件id 参数一般是 fileId，或者id

 （1）比如图片不展示：  
![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1175769339281686531&type=imgs)

 此链接上的 fileId 就是文件id

（2）如果是字段上的附件，可以点击附件后，F12 在网络栏 搜 /preview 接口。确认 fileid 参数是什么值 ![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1274632090342219778&type=imgs)

# **根据文件id获取文件的存储信息**

** ****第一步：查 rule\_version\_id**

**select rule\_version\_id from file\_storage\_info where file\_url = (select url from fileobj where id = 文件id)**

** 如果 rule\_version\_id 为空，则这个文件默认走 租户平台上-存储规则中绑定的存储实例，请确认文件是否应该在此存储中，不应该则说明文件存储绑定错了**  
  
**如果 rule\_version\_id 不为空**

** **第二步：查 storage\_instance\_id

**select** storage\_instance\_id **from** file\_storage\_rule\_version f **where** id =#{rule\_version\_id}  
  
第三步：若查出来的 storage\_instance\_id 不为空，则查存储信息

**select** \* **from** storage\_instance\_config *s* **where** id = #{<u>storage\_instance\_id}</u>

![image.png](https://weapp.eteams.cn/api/file/preview?fileId=1274626867686490119&type=imgs)

看 instance\_name 是什么存储实例，**请确认文件是否应该在此存储中，不应该则说明文件存储绑定错了**

确认绑定错了，就需要 将 **file\_storage\_info 表的 rule\_version\_id 字段刷成正确的id。**
