【问题标题】:Why is a newline appended when using mod_python sendfile?为什么在使用 mod_python sendfile 时会附加换行符?
【发布时间】:2023-03-18 11:50:01
【问题描述】:

我正在使用 Fedora 17 服务器为网站提供服务。该网站允许用户单击并从文件列表中下载。但是,当用户单击下载文件时,会附加一个换行符 (0A)。这会更改文件的 md5sum。

HTML

<a href="download.psp?id={{obj.Id}}"/>

PSP

<%
import shared

filePath = shared.getFileFromId(req, form['id'])

req.sendfile(filePath)
%>

使用重定向和直接 apache 下载可解决此问题。但我需要能够设置内容处置文件名。

这发生在 windows 和 linux 作为客户端。还有火狐和chrome。服务器始终是 fedora 17。文本文件和二进制文件都会出现这种情况。设置 HTTP 标头(到目前为止)没有帮助。

感谢任何帮助。

mod_python 版本 3.3.1-18
蟒蛇版本:2.7.3
httpd版本:2.2.22-4

【问题讨论】:

    标签: apache http download newline mod-python


    【解决方案1】:

    正在评估您的 PSP 页面,并在 sendfile 的结果之后发送结束“>”后的换行符。您可以编辑文件,使“>”成为最后一个字符,或者将其重写为纯 Python 脚本。

    【讨论】:

    • 谢谢,这解决了问题!实际上,我之前曾对此进行过调查,并已使用 vi 检查了我的文件。我没有意识到 vi 以换行符结束文件。我使用了十六进制编辑器并删除了换行符,一切都很好。
    猜你喜欢
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多