【发布时间】:2016-05-13 16:16:42
【问题描述】:
我目前正在尝试从用户上传到我的 Django 应用程序的媒体存储库的文档中提取图像。目前适用于我的代码是:
html = pypandoc.convert(
tmp_loc,
'html5',
extra_args=['--extract-media=']
)
这会正确地将图像提取为 image01.jpg
到媒体目录中
在 HTML 中,img src 是:
<img src="/media/image01.jpg" />
现在的问题是,当用户上传另一个也有图像的 docx 时,它会在上传时替换之前的图像,因为它也以名称 image01.jpg 保存。
为了解决这个问题,我认为我们可以在媒体存储库中创建一个新文件夹,新文件夹的名称将是 doc-name。所以现在代码看起来像这样:
html = pypandoc.convert(
tmp_loc,
'html5',
extra_args=['--extract-media=/media/<some_doc_name>']
)
但是当我运行它的那一刻,我得到了以下错误:
Pandoc died with exitcode "1" during conversion: b'pandoc: /media/docs: createDirectory: permission denied (Permission denied)\n'
有人可以指导我出了什么问题吗?如何解决这个问题? 任何解决此问题的替代方法也将不胜感激!
我在 python 中使用 Pypandoc 模块。
【问题讨论】:
-
如果文档名称也相同怎么办?相反,如果图像文件存在,为什么不直接重命名它。
-
问题是 pypandoc 自动生成 HTML 并将 img src 设置为指向 image01.jpg。我们如何修改 pandoc 生成的 HTML 以指向重命名的图像?
-
你应该阅读这个github.com/bebraw/pypandoc/blob/master/README.md你可以指定输出文件名
-
我需要将图像名称更改为其他名称,而不是其输出文件的名称。提取媒体选项从 docx 中提取图像并将它们保存在媒体存储库中。如何更改它提取的图像的名称?
标签: python django pandoc django-media