Skip to content

[Bug]: upload_private_file接口上传文件之后没有及时解除文件占用 #2119

@U1dd

Description

@U1dd

请确保您已阅读以上注意事项,并勾选下方的确认框。

  • 我已经仔细阅读上述教程和 "提问前需知"
  • 我已经使用 dev分支版本 测试过,问题依旧存在。
  • 我已经在 Issue Tracker 中找过我要提出的问题,没有找到相同问题的ISSUE。
  • 我已知晓并同意,此处仅用于汇报程序中存在的问题。若这个 Issue 是关于其他非程序本身问题,则我的 Issue 可能会被无条件自动关闭或/并锁定。(这些问题应当在 Discussion 板块提出。)

go-cqhttp 版本

1.0.1

运行环境

Windows (64)

运行架构

x86

连接方式

WebSocket (反向)

使用协议

1 | Android Phone

重现步骤

直接调用upload_private_file api上传私聊文件。

期望的结果是什么?

下载文件完成后文件被释放。

实际的结果是什么?

提示错误:[WinError 32] 另一个程序正在使用此文件,进程无法访问。

简单的复现代码/链接(可选)

from pathlib import Path
from tempfile import TemporaryDirectory

async def func(bot: Bot):
    with TemporaryDirectory() as tempdir:
        file_path = Path(...)
        await bot.upload_private_file(user_id=user_id,
                                      file=str(file_path.resolve()),
                                      name=file_path.name)
        # 在这之后提示PermissionError: [WinError 32]

日志记录(可选)

No response

补充说明(可选)

在64位Windows系统下等待大约一分钟后文件才会解除占用。其他系统没有尝试过。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug?The issue author think this is a bug

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions