winsdk 提问tips:
1,理清楚问题。
2,整理思路。
上传路径与你设置的魔法变量有关系,这是第一点。
uploads/{path} 用户上传路径 /MyFile/Documents
这个文件上传后就始终保持在初次上传位置,不管你怎么在前端修改。前端所有的文件夹或者显示的文件,实际上是get sql 的数据,文件显示的名称也和后面你上传上去到磁盘的文件名称无关,因为上传时可以指定文件变量重命名文件例如我自用{uid}-{datetime}-{randomkey16}-{ext}
第二,如果你在没有手动修改复制移动后端磁盘上的文件下出现提示文件找不到,你应该先开启debug模式,查找相关error。和f12开启控制台查看前端是否出现错误。
第三,前端显示的文件数据在sql数据库中的cd_file 表 ,你应该去检查你对应的123.txt文件在数据库中的link是不是正确的值。
第四,你应该正确的配置本地策略的路径以及变量,如果说你自己设置过,请恢复默认值后再次试验。(建议删除相关数据,恢复初始状态,要么直接用个docker容器试验)
第四,如果第二第三步是cloudreve本身问题,那么你应该收集日志,或者贴上截图。从你第二个问题看出,你很明显不相信我的回答,那么你可以去查看相关的代码:
https://github.com/cloudreve/Cloudreve/blob/master/models/folder.go
https://github.com/cloudreve/Cloudreve/blob/master/models/file.go
https://github.com/cloudreve/Cloudreve/blob/master/service/explorer/upload.go
https://github.com/cloudreve/Cloudreve/blob/master/service/explorer/directory.go
我完全没有看出你的第二次提问所描述了什么问题,并且根据我使用了2年的cloudreve的经验,并不会出现这样的问题,我唯一一次出现文件读取失败是在我手动修改了后端储存上的文件。