我目前正在GAE Blobstore中存储一堆.docx文件.我最近注意到这些文件在某些计算机(IE 9 for Windows 7)上没有文件扩展名下载,但适用于其他人(IE 8,Chrome for Windows 7).
以下是文件存储在blobstore中的方式:
f = files.blobstore.create(mime_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document',
_blobinfo_uploaded_filename=filename)
## then some code to write data and save ##
Run Code Online (Sandbox Code Playgroud)
以下是Chrome检查器中文件的响应标头:
Cache-Control:no-cache
Content-Disposition:attachment; filename="causes_of_ww1_emanresu"
Content-Length:12120
Content-Type:application/vnd.openxmlformats-officedocument.wordprocessingml.document
Date:Fri, 26 Oct 2012 23:54:09 GMT
Server:Google Frontend
X-AppEngine-Estimated-CPM-US-Dollars:$0.000033
X-AppEngine-Resource-Usage:ms=15 cpu_ms=0
Run Code Online (Sandbox Code Playgroud)
这是我如何服务blob:
self.send_blob(blob_info, save_as=blob_info.filename, content_type=blob_info.content_type)
Run Code Online (Sandbox Code Playgroud)
我甚至尝试过硬编码content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document'无济于事.
关于发生了什么以及如何解决问题的任何想法?
根据要求,这是我在最初保存blob时如何获取文件信息.我很确定在这个级别上没有出现错误,但这是问题的前兆:
# get the file from a file_url with urlfetch
result = urlfetch.fetch(file_url)
headers = result.headers
# some custom functions to return a filename
username = self.get_username()
filename = get_filename(title, …Run Code Online (Sandbox Code Playgroud) google-app-engine internet-explorer google-chrome http-headers blobstore
将文件上传到blobstore后,它会将其重命名为"s9QmBqJPuiVzWbySYvHVRg ==".如果您导航到其"/ serve"URL以下载文件,则下载的文件将被命名为这个混乱的字母.
有没有办法让下载的文件在上传时保留其原始文件名?
因此,引导程序的响应式网格对我的网站来说看起来很糟糕.当你缩小窗口时,所有东西都会被压在一起,导航栏会折叠成三行(我禁用了响应式折叠导航栏).
我尝试删除bootstrap-responsive.css但它仍然做"流体网格崩溃"的事情.这让我疯狂.
如何为导航栏和整个页面设置最小宽度?因此,所有内容都不会被推到一起,您必须使用水平滚动条来浏览页面.
我有一个功能,应该将用户滚动回页面顶部的搜索输入,然后将焦点放在它上面(这样光标闪烁).出于某种原因,它似乎首先将焦点应用于搜索输入.这会在页面上创建一个非常快速的跳跃/ spazzy运动到搜索栏,跳回到底部,然后慢慢向上滚动.
Javascript:
function goToSearch(){
$('html,body').animate({scrollTop: $('#search').offset().top},'medium');
$('#search').focus()
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<input type="text" id="search" placeholder="search">
...
<a href="#" onclick="goToSearch()">Search</a>
Run Code Online (Sandbox Code Playgroud)
我试过设置.delay()函数无济于事; 似乎总是首先应用.focus().为什么会这样?
当您在本地测试GAE应用程序时,可以使用"交互式控制台"在您的应用程序中运行任意代码.有没有办法在appengine.google.com上为已部署的GAE应用执行此操作?
能够在控制台中对实时应用程序执行数据存储操作会很有用.
我正在尝试在Amazon Linux AMI上运行Flask应用程序,因此我执行以下操作:
>>> cd /var/www/testapp
>>> python test.py
INFO:werkzeug: * Running on http://127.0.0.1:5000/
Run Code Online (Sandbox Code Playgroud)
到目前为止看起来不错,我目前正在使用localtunnel访问该网站,因此:
>>> localtunnel 5000
Port 5000 is now publicly accessible from http://xxxx.localtunnel.com ...
Run Code Online (Sandbox Code Playgroud)
因此localtunnel正在做一些事情,使得在端口5000上运行的test.py可以公开访问.我该怎么做?
我使用ifconfig并在我的浏览器中尝试了它在端口5000给出的ip地址的不同组合,但它们都没有用.
编辑:我尝试将弹性IP附加到实例并通过那里访问它但它仍然无法正常工作.
blobstore ×2
http-headers ×2
amazon-ec2 ×1
css3 ×1
filenames ×1
flask ×1
html ×1
javascript ×1
jquery ×1