Tsuk1ko / pxder

🖼 Download illusts from pixiv.net P站插画批量下载器
https://moe.best/projects/pxder.html
GNU General Public License v3.0
748 stars 78 forks source link

无法识别、下载文件名含有特殊字符的图像 #71

Closed WitchEllen closed 8 months ago

WitchEllen commented 9 months ago

系统:Windows11

问题描述: 1.无法下载文件名含有特殊字符的图像,以PID:105983968为例,debug模式输出如下:

C:\Users\user>pxder -p 105983968 --debug

Download Path:  C:\Users\user\Pictures\pixiv
Using Proxy:    http://127.0.0.1:108

  [0]   1/1      pid 105983968  Skadi🎂
Error: ENOENT: no such file or directory, open 'C:\Users\user\AppData\Roaming\pxder\tmp\(105983968)Skadi🎂.jpg'
    at Object.openSync (node:fs:581:18)
    at Object.writeFileSync (node:fs:2365:35)
    at Object.download (C:\Users\user\AppData\Roaming\npm\node_modules\pxder\src\tools.js:52:9)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async C:\Users\user\AppData\Roaming\npm\node_modules\pxder\src\downloader.js:191:9 {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\Users\\user\\AppData\\Roaming\\pxder\\tmp\\(105983968)Skadi🎂.jpg'
}

2.无法读取本地已下载的、文件名含有特殊字符的图像。导致程序尝试重复下载,进一步触发第一条。

补充1:该问题在某次更新pxder后出现。在2023.11.25之前(最后正常下载图像的日期),程序可以正常识别、下载文件名含有特殊字符的图像。上例中的PID:105983968为2023.11.25成功下载的图像。在更新后,运行“pxder -b”时,程序尝试重新下载该图像,下载失败。

补充2:不确定是程序更新问题,或是我对系统的某些操作导致程序无法正常解析特殊字符。从debug信息初步推断,程序无法在临时目录建立带有特殊字符的文件。故以此为标题提交issue,仅供参考。

Tsuk1ko commented 9 months ago

https://github.com/Tsuk1ko/pxder/issues/69#issuecomment-1722261348

Tsuk1ko commented 9 months ago

nodejs 安装最新的 LTS 或者最新版,这个问题应该已经修复

Silver-Meow commented 8 months ago

[v21.7.1]修了这个BUG (小声) 珠泪饼干