jinzhi0123 / picgo-plugin-alist

a picgo uploader for alist 在picgo把alist作为图床
MIT License
63 stars 15 forks source link

我使用piclist的高级重命名,让原先文件存在层级关系(如:xxx/2023/08/13/test.png)时,此插件报错,其他图床可以 #26

Open Index103000 opened 1 year ago

Index103000 commented 1 year ago

我测试不加层级,只有一层是可以的,如 xxx/2023-08-13-test.png ,但是用了 / 后,重命名为 xxx/2023/08/13/test.png 后,就报错上传失败了,似乎是没有在 C:\Users\INDEX1~1\AppData\Local\Temp\ 这样的临时目录找到文件,同样的命名方式,我用 github 图床就可以正常上传

具体的报错日志如下 2023-08-13 11:59:30 [PicList INFO] Before transform 2023-08-13 11:59:30 [PicList INFO] Transforming... Current transformer is [path] 2023-08-13 11:59:30 [PicList INFO] Before upload 2023-08-13 11:59:30 [PicList INFO] beforeUploadPlugins: renameFn running 2023-08-13 11:59:30 [PicList INFO] create rename window 2023-08-13 11:59:31 [PicList INFO] rename window ready, wait for rename... 2023-08-13 11:59:32 [PicList INFO] Uploading... Current uploader is [alist] 2023-08-13 11:59:32 [PicList INFO] [信息]{version:3,uploadPath:nas/nas-469G/imgbed.xxx.com,fileName:Desktop/test.png} 2023-08-13 11:59:32 [PicList ERROR] ------Error Stack Begin------ Error: [缓存文件失败]文件C:\Users\INDEX1~1\AppData\Local\Temp\Desktop\test.png,ENOENT: no such file or directory, open 'C:\Users\INDEX1~1\AppData\Local\Temp\Desktop\test.png' at Object.handle (C:\Users\index103000\AppData\Roaming\piclist\node_modules\picgo-plugin-alist\dist\handler.js:37:23) at St.doUpload (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\node_modules\piclist\dist\index.cjs.js:1:34614) at St.start (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\node_modules\piclist\dist\index.cjs.js:1:33354) at process.processTicksAndRejections (node:internal/process/task_queues:96:5) at async _r.upload (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\node_modules\piclist\dist\index.cjs.js:1:107431) at async Object.upload (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\index.js:8:1814754) at async mm (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\index.js:8:1950552) -------Error Stack End-------

Kuingsmile commented 1 year ago

我测试不加层级,只有一层是可以的,如 xxx/2023-08-13-test.png ,但是用了 / 后,重命名为 xxx/2023/08/13/test.png 后,就报错上传失败了,似乎是没有在 C:\Users\INDEX1~1\AppData\Local\Temp\ 这样的临时目录找到文件,同样的命名方式,我用 github 图床就可以正常上传

具体的报错日志如下 2023-08-13 11:59:30 [PicList INFO] Before transform 2023-08-13 11:59:30 [PicList INFO] Transforming... Current transformer is [path] 2023-08-13 11:59:30 [PicList INFO] Before upload 2023-08-13 11:59:30 [PicList INFO] beforeUploadPlugins: renameFn running 2023-08-13 11:59:30 [PicList INFO] create rename window 2023-08-13 11:59:31 [PicList INFO] rename window ready, wait for rename... 2023-08-13 11:59:32 [PicList INFO] Uploading... Current uploader is [alist] 2023-08-13 11:59:32 [PicList INFO] [信息]{version:3,uploadPath:nas/nas-469G/imgbed.xxx.com,fileName:Desktop/test.png} 2023-08-13 11:59:32 [PicList ERROR] ------Error Stack Begin------ Error: [缓存文件失败]文件C:\Users\INDEX1~1\AppData\Local\Temp\Desktop\test.png,ENOENT: no such file or directory, open 'C:\Users\INDEX1~1\AppData\Local\Temp\Desktop\test.png' at Object.handle (C:\Users\index103000\AppData\Roaming\piclist\node_modules\picgo-plugin-alist\dist\handler.js:37:23) at St.doUpload (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\node_modules\piclist\dist\index.cjs.js:1:34614) at St.start (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\node_modules\piclist\dist\index.cjs.js:1:33354) at process.processTicksAndRejections (node:internal/process/task_queues:96:5) at async _r.upload (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\node_modules\piclist\dist\index.cjs.js:1:107431) at async Object.upload (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\index.js:8:1814754) at async mm (C:\Users\index103000\AppData\Local\Programs\PicList\resources\app.asar\index.js:8:1950552) -------Error Stack End-------

@Index103000 你好,我是piclist的作者,我自己测试了下产生这个问题的原因是目录未创建,该插件会在系统的temp目录下先生成缓存文件再上传,如果你用了高级重命名,那么由于temp目录下没有2023/08/13/这样的子目录层级,所以就会报错,可以通过自己去缓存目录手动先新建好子目录层级的方式间接解决这个问题 image