fix(useLink): adjust path handling for share links#358
Conversation
Signed-off-by: MadDogOwner <xiaoran@xrgzs.top>
KirCute
left a comment
There was a problem hiding this comment.
分享分为以下三种情况:
- 分享单文件
- 分享单文件夹
- 分享多文件/文件夹
我测了下,之前1的复制链接有问题,23没问题,现在是1的没问题,23有问题
我这边2、3的复制链接没测出来问题 |
我懂了,在右键菜单里和Download页里复制链接复制出来的内容不一样,现在2、3右键菜单里复制的结果不正确 |
|
@KirCute 感觉后端也不太对,单文件分享的
|
|
我认为这个问题应该由后端解决,将文件名添加到 |
|
单文件分享的下载链接结尾没有文件名,多了一个 这不应该只是一个后端问题,因为右键菜单里的复制链接和下载界面里的复制链接复制的内容不同,这说明至少有一个链接是前端拼接出来的,所以首先要确认前端拼接的链接是否正确 |
|
如果只有单文件分享的复制链接存在问题,我觉得可以考虑让Download页的复制链接直接返回 |
但这样会让复制转链的用户不方便 还有要确定一下其它 useLink 的 Preview 有没有问题 |
|
这个现在打算怎么办 |
| let path = `${dir}/${obj.name}` | ||
| // For shared non-directory objects, the link points to the directory itself; otherwise include the object name | ||
| const useDirOnlyForShare = isShare && !obj.is_dir | ||
| let path = useDirOnlyForShare ? dir : `${dir}/${obj.name}` |
There was a problem hiding this comment.
这样修改会引入新的bug
修改后,文件夹分享时,右键列表文件->复制链接,得到的链接是不包含文件名的
There was a problem hiding this comment.
如果我理解没错的话objStore.state应该是当前分享的类型,改成这样就行了
const useDirOnlyForShare = isShare && !obj.is_dir && objStore.state !== State.Folder

Description / 描述
修复复制链接的生成方式
单文件分享不能包含路径(文件名)
Motivation and Context / 背景
Closes OpenListTeam/OpenList#1968
How Has This Been Tested? / 测试
Checklist / 检查清单
我已阅读 CONTRIBUTING 文档。
go fmtor prettier.我已使用
go fmt或 prettier 格式化提交的代码。我已为此 PR 添加了适当的标签(如无权限或需要的标签不存在,请在描述中说明,管理员将后续处理)。
我已在适当情况下使用"Request review"功能请求相关代码作者进行审查。
我已相应更新了相关仓库(若适用)。