Calibre-web 是一款开源的电子书库服务器,它基于 Calibre 生成的电子书数据库,为网站用户提供浏览、阅读和下载各种主流格式电子书的服务。 github.com/janeczku/ca…
用它来开设中文书库的时候,有一个常见问题,就是下载的电子书文件名都是汉语拼音,怎么让下载下来的电子书是中文名称呢?直接用书名作为文件名可以吗?
当然可以!只需要改动一行代码就行了。
以 Calibre-Web 0.6.6 为例:
修改 \cps\helper.py 中 get_download_link(book_id, book_format) 这个函数,把:
headers["Content-Disposition"] = "attachment; filename=%s.%s; filename*=UTF-8''%s.%s" % (
quote(file_name.encode('utf-8')), book_format, quote(file_name.encode('utf-8')), book_format)
修改为:
headers["Content-Disposition"] = "attachment; filename*=UTF-8''%s.%s" % (
quote(book.title.encode('utf-8')), book_format)
然后在 Calibre-Web 后台重启服务器即可。
目前来看,各平台、各浏览器都没大问题。