0

在我追求在客户端窗口中弹出一个下载框(对于 sqlite3.db 文件)。我写了这段代码:

#!/usr/bin/env python
import os
# HTTP Header
print "Content-Type:application/octet-stream; name=\"sqlite3.db\"\r\n";
print "Content-Disposition: attachment; filename=\"sqlite3.db\"\r\n\n";

# Actual File Content will go hear.
fo = open("sqlite3.db", "rb")

str = fo.read();
print str

# Close opend file
fo.close()

我遇到一个错误(从错误日志中复制),提到“IOError:[Errno 2] 没有这样的文件或目录:'sqlite3.db'”

我还将 python.py 和 sqlite3.db 都粘贴到 /var/www/cgi-bin/ 中,并且我已经为两者分配了 0755 chmod。

我已经通过打印 Hello world 脚本来检查配置。

知道我的错误是什么吗?我仍然很困惑我应该在哪里提供可下载文件的路径?

4

1 回答 1

0

HTTP 标头提前终止。(print本身写换行符)

print "Content-Type:application/octet-stream; name=\"sqlite3.db\"\r\n";
print "Content-Disposition: attachment; filename=\"sqlite3.db\"\r\n\n";

Abobe 线应该是:

print 'Content-Type:application/octet-stream; name="sqlite3.db'
print 'Content-Disposition: attachment; filename="sqlite3.db'
print
于 2013-06-22T06:59:44.690 回答