new_file = open('../pages/pdf/test.PDF', 'rb').read()
继续给我找不到文件/目录
我也在我的app.yaml中尝试过此操作:
- url: /test.((pdf)|(PDF))
static_files: pages/pdf/test.PDF
upload: pages/pdf/test.PDF
文件结构
-app.yaml
pages
-index.html
-page1.html
pdf
-test.PDF
entities
-booking.py (file that im writing the above code)
如何在Google App Engine中正确打开文件?
这是app.yaml处理程序
- url: /sitemap.xml
script: sitemap.app
- url: /test.((pdf)|(PDF))
static_files: pages/pdf/test.PDF
upload: pages/pdf/test.PDF
application_readable: true
- url: /images
static_dir: pages/images
- url: /fonts
static_dir: pages/fonts
- url: /css
static_dir: pages/css
expiration: 1s
尝试使用EmailMessage附加以下文件:
new_file = open(os.path.dirname(__file__) +'/../pages/pdf/test.PDF').read()
message = mail.EmailMessage( sender=EMAIL_SENDER,
subject=subject,body=theBody,to=['myemail@gmail.com'],attachments=
[('test',new_file)])
message.send()
在调试中显示:无效的附件类型
答案 0 :(得分:0)
应用程序代码无法访问应用程序静态内容中包含的默认文件(即与static_files
或static_dir
处理程序配置模式匹配)。如果要进行这种访问,则需要为各个application_readable: true
处理程序配置设置app.yaml
选项。参见GAE: file_get_contents() and static files
一旦这样做,将可以使用相对于应用程序/服务根目录(即app.yaml
文件所在的路径)的路径访问该文件,在您的情况下,它将为pages/pdf/test.PDF
。