原文地址:

http://notewo.sinaapp.com/blog/full_article/?blogid=56

第一步:
看图,开启服务:

 

sae-django 使用storage服务实现文件上传保存_第1张图片 sae-django 使用storage服务实现文件上传保存_第2张图片

 

记住域名。
第二步:编码:

 

   
   
   
   
  1. @login_required 
  2. def p_w_picpathUp(request): 
  3.     if request.method == 'POST'
  4.         b = save_file(request.FILES['upfile']) 
  5.     return  HttpResponse(b) 
  6.    
  7.    
  8.    
  9. def save_file(file,path=''): 
  10.    filename   = str(time.time()) + str(random.random()) + file._get_name() 
  11.    from os import environ   
  12.    online = environ.get("APP_NAME", "")    
  13.      
  14.    if online:   
  15.         import sae.const   
  16.         access_key = sae.const.ACCESS_KEY   
  17.         secret_key = sae.const.SECRET_KEY   
  18.         appname = sae.const.APP_NAME   
  19.         domain_name = "notewo"  #刚刚设置的domain                    
  20.         import sae.storage   
  21.         s = sae.storage.Client()   
  22.         ob = sae.storage.Object(file.read())   
  23.         url = s.put(domain_name, file.name, ob)   
  24.         a  ='{"url":"'+url+'","title":"'+file.name +'","state":"SUCCESS"}' 
  25.         return a 
  26.    else:              
  27.        fd = open('%s/%s' % (settings.MEDIA_ROOT,str(path)+str(filename)),'wb'
  28.        for chunk  in file.chunks(): 
  29.            fd.write(chunk) 
  30.        fd.close() 
  31.        a  ='{"url":"/media/'+filename+'","title":"'+filename +'","state":"SUCCESS"}' 
  32.        return a 

这样子就可以了哦。看效果图:

 

sae-django 使用storage服务实现文件上传保存_第3张图片