七牛存储应用失败

By at • 2496次点击
逍遥度日君

用了新的ijd8版本的,在sae上布置,blog显示正常。 应用七牛存储显示【500 error, pls try it again.】。我查了一下源代码错在upload_qiniu这个函数上。但是有个比较奇怪的地方。 view.py文件:(Line:386)

            if BUCKET:
                fileurl = upload_storage(BUCKET, str(new_file_name), myfile['body'])
            elif QN_AK and QN_SK and QN_BUCKET:
                fileurl = upload_qiniu(QN_BUCKET, str(new_file_name), myfile['body'])

这里我想加一个变量,看到底走了哪个函数。写成这样

            if BUCKET:
                fileurl = upload_storage(BUCKET, str(new_file_name), myfile['body'])
                servername = 'sae'
            elif QN_AK and QN_SK and QN_BUCKET:
                fileurl = upload_qiniu(QN_BUCKET, str(new_file_name), myfile['body'])
                servername = 'qn'

这样是ok的。 但是如果写成这样

            if BUCKET:
            	servername = 'sae'
                fileurl = upload_storage(BUCKET, str(new_file_name), myfile['body'])
            elif QN_AK and QN_SK and QN_BUCKET:
            	servername = 'qn'
                fileurl = upload_qiniu(QN_BUCKET, str(new_file_name), myfile['body'])

页面都打不开。不知道为什么会这样。


七牛, 存储, 失败, 应用


servername 位置颠倒就不行,看了代码,看不出是什么问题。你到SAE 后台看log debug,看看有没有相关输出。

要看走哪个函数只要在setting.py 里设定下面几个:

#######下面是保存附件的空间,可选SAE Storage  和 七牛(有免费配额),只选一个
## 1) 用SAE Storage 需要在SAE 控制面板开通
BUCKET = "" #Domain Name, 如 upload 。不用或用七牛请留空

## 2) 七牛 注册可获永久10G空间和每月10G流量,注册地址 http://t.cn/z8h5lsg
QN_AK = "" #七牛 ACCESS_KEY
QN_SK = "" #七牛 SECRET_KEY
QN_BUCKET = "" #空间名称 , 如 upload

--------- 应用七牛存储显示【500 error, pls try it again.】是上传附件后不能返回网址(保存附件出错)。 先试一下SAE Storage 能不能正确保存,再试试七牛。 以前在SAE 上遇到过七牛上传不了的问题,后来反馈给SAE python 小组,组长很快解决了。不知道现在是不是又上传不了了。 参见 http://saepy.sinaapp.com/t/94

admin at 2013-09-15 13:42
1

先测试了Storage,好用。

我在setting.py里写的这样

QN_AK = "aaa" #七牛 用户名
QN_SK = "bbbb" #七牛 密码
QN_BUCKET = "cccc" #我的实际空间名

打log的时候,还有点问题。我在view.py里面 import logging 这个包了。 之后在LINE:342 if bucketname and savename and filedata: 之上加了。 print 'test file' logging.error('wrong file') 结果在【日志中心】的http栏里面,不管是【debug】种类还是【error】。里面都没有这两句。 最后,请问这个ijd8版本在本地配置有什么要求么。我按照sae的教程,下载了那个sae的环境,现在已经可以正常启动了阿帕奇,还有mysql。我自己新建了一个应用,然后把所有的ijd8的代码copy到这个包里面,但是启动不起来。我在这个项目包下放了一个index.php。可以正常调用。我觉得这可以证明阿帕奇的路径没有问题。不知道还需要修改其他什么配置。

逍遥度日君 at 2013-09-15 14:25
2

@逍遥度日君 你下载的SAE SDK 是php 还是python?

本地配置只需要 mysql+python+tornado

需要修改的setting.py mysql配置,views.py 最下面添加:

if __name__ == "__main__":
    import wsgiref.simple_server
    server = wsgiref.simple_server.make_server('', 8888, application)
    server.serve_forever()

七牛在本地运行要装pycurl

admin at 2013-09-15 15:28
3

@admin 我本身机器上装了xampp,所以可以运行php的页面。另外还装了python2.7。 看来还差tornado。我再试试看吧。非常感谢回复。我估计明晚才有时间实验了。 明天要早起。先睡了。祝好梦。

逍遥度日君 at 2013-09-15 21:48
4

折腾了一晚上。好像还是没什么进展。 我修改了setting.py 里面的mysql配置: http://pan.baidu.com/share/link?shareid=1121916552&uk=1661252945 另外,views.py也添加那几句。

我的文件路径 http://pan.baidu.com/share/link?shareid=1127825548&uk=1661252945

有一点我觉得没太懂。我没在新浪到什么sae的sdk。他现在好像有一个新的开发环境。我用的 http://sae.sina.com.cn/?m=devcenter&catId=231 这个地址给的开发环境。20m的这个。 运行之后的效果如下 http://pan.baidu.com/share/link?shareid=1139129296&uk=1661252945 好像没分php或者python。 我访问的连接如下: http://pan.baidu.com/share/link?shareid=1150646486&uk=1661252945 我还试验过访问:index.wsgi 以及views.py 效果如下: http://pan.baidu.com/share/link?shareid=1167830529&uk=1661252945 http://pan.baidu.com/share/link?shareid=1162830104&uk=1661252945 我现在有点当初搞java装jdk的感觉了,活还没怎么干,调环境就好费劲啊~

逍遥度日君 at 2013-09-16 22:07
5

@逍遥度日君 在cmd 下切换到程序所在路径,输入命令: python views.py

打开网址 http://127.0.0.1:8888/ (前提是views.py 作3楼的修改,注意if 下面的行都有四个空格缩进)

admin at 2013-09-17 00:25
6

@admin 谢谢。我今晚就实验一下。另外我有个小问题。阿帕奇的端口也要修改成8888么。我的端口现在是801

逍遥度日君 at 2013-09-17 09:06
7

@逍遥度日君 不用阿帕奇

admin at 2013-09-17 09:33
8
登录 后发表评论