SAE上是没有目录读写权限的,所以要在SAE使用Ueditor的图片上传功能需要借助SAE的Storage服务。
一、开通Storage服务
在SAE控制台开通Storage服务,并新增一个domain。
二、修改Ueditor代码
Ueditor处理上传文件的方法在DjangoUeditor/jviews.py中,上传图片的请求是由下面函数处理的
#上传附件 @csrf_exempt def UploadFile(request,uploadtype,uploadpath): ''''' 省略若干代码 ''' #检测保存路径是否存在,如果不存在则需要创建 OutputPath=os.path.join(USettings.gSettings.MEDIA_ROOT,os.path.dirname(uploadpath)).replace("//","/") if not os.path.exists(OutputPath): os.makedirs(OutputPath) #要保存的文件名格式使用"原文件名_当前时间.扩展名" OutputFile=GenerateRndFilename(file.name) #所有检测完成后写入文件 if state=="SUCCESS": #保存到文件中 state=SaveUploadFile(file,os.path.join(OutputPath,OutputFile)) #返回数据 if uploadtype=="image" or uploadtype=="scrawlbg": rInfo={ 'url' :OutputFile, #保存后的文件名称 'title' :request.POST.get("pictitle",file.name), 'original' :file.name, #原始文件名 'state' :state } else: rInfo={ 'url' :OutputFile, #保存后的文件名称 'original' :file.name, #原始文件名 'filetype' :original_ext, 'state' :state } ''''' 省略若干代码 '''
在进行一系列检查后调用SaveUploadFile方法将文件写入硬盘。
#保存上传的文件 def SaveUploadFile(PostFile,FilePath): try: f = open(FilePath, 'wb') for chunk in PostFile.chunks(): f.write(chunk) except MyException,E: f.close() return u"写入文件错误:"+ E.message f.close() return u"SUCCESS"
本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/tools/
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件
, file
, sae
, sae 部署java...
, 新浪sae
, ueditor
, 文件名
, state
, storage
平台sae上传图片
ueditor关闭上传功能、ueditor 去掉上传功能、ueditor配置上传功能、ueditor 调用上传功能、ueditor上传功能,以便于您获取更多的相关知识。