从apache mod_wsgi上托管的python应用程序访问pdf文件时,在

2024-10-01 07:24:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我在尝试部署的python-falsk web应用程序中显示pdf时遇到问题。 https://localhost/wsgi/users/TTG/journeys/cbwapw.pdf 我得到:
{“message”:“在服务器上找不到请求的URL。如果您手动输入URL,请检查拼写并重试。“} 以及访问.log:
“GET/wsgi/users/TTG/journeys/cbwapw.pdfHTTP/1.1“404 137

我可以确认路径是正确的,文件确实存在。我可以把一个html文件放在那里,并可以访问它。所以它似乎是特定于pdf mime类型的? 我四处搜寻后发现了一些好消息:
www.devside.net/wamp-server/forcing-a-pdf-or-doc-to-open-in-browser-that-downloading
www.thingy-ma-jig.co.uk/blog/06-08-2007/force-a-pdf-to-download
我试图在浏览器中打开文件,所以我添加了:
<;位置匹配“?i: pdf)$“>;
ForceType应用程序/pdf
标题集内容处理内联
<;/LocationMatch>;
也尝试过:
<;文件匹配“?i: pdf)$“>;
ForceType应用程序/八位字节流
标题集内容处理内联
<;/FilesMatch>;
我正在从c:\wsgi运行我的wsgi应用程序
我有C:\ProgramFiles\ApacheSoftwareFoundation\Apache22\conf\httpd.conf 使用:
WSGIScriptAlias/wsgi“C:/wsgi\u应用程序/优化网站.wsgi“
<;目录“C:/wsgi\u app”>;
允许覆盖无
选项+执行CGI
订单拒绝,允许
允许所有人
<;/Directory>;
我曾尝试在<;目录“C:/wsgi\u app”内外添加我的filematch,但这没有效果。
pdf实际上位于:C:\wsgi\u app\users\TTG\journeys (我还有LoadModule headers\u modules/mod_标题.so在顶部httpd.conf)在

我也试过编辑: 通过在<;VirtualHost>;内部添加<;FilesMatch>;
重新启动了apache,firefox,清除了ff历史记录等,但都没有用。在

我可能遗漏了一些非常明显的东西,比如我将<;filematch>;放在哪里,或者如何配置VirtualHost的其余部分,即我运行c:\wsgi的wsgi应用程序的documentRoot?
如果我能得到任何帮助,我将不胜感激。 问候皇家空军


Tags: 文件ltgtapp应用程序url标题wsgi
1条回答
网友
1楼 · 发布于 2024-10-01 07:24:05

看来我的配置没有生效的原因是api.add_资源将这些请求映射到处理程序的py文件中。现在我需要解决如何替换send_from_directory(,,),让apache处理请求。
很抱歉浪费了时间。在

相关问题 更多 >