Created
December 22, 2012 13:06
-
-
Save perchouli/4358842 to your computer and use it in GitHub Desktop.
调用又拍云模块实现上传
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# -*- coding: utf-8 -*- | |
import os | |
from .upyun import UpYun | |
class qqFileUploader(object): | |
def __init__(self, work): | |
self.work = work | |
self.allowedExtensions = [".jpg",".png",".jpeg",] | |
self.sizeLimit = 1024000 | |
self._u = UpYun('空间','username', 'password') | |
def handleUpload(self, djangoRequest): | |
uploaded = djangoRequest.read | |
#get file size | |
fileSize = int(uploaded.im_self.META["CONTENT_LENGTH"]) | |
#get file name | |
fileName = uploaded.im_self.META["HTTP_X_FILE_NAME"] | |
#check first for allowed file extensions | |
if self._getExtensionFromFileName(fileName) in self.allowedExtensions or ".*" in self.allowedExtensions: | |
#check file size | |
if fileSize <= self.sizeLimit: | |
self._u.writeFile('/%d/%s' % (self.work.id, fileName),djangoRequest.read(fileSize), True) | |
img_url = 'http://img.synclee.net/%d/%s' % (self.work.id, fileName) | |
# file.write(djangoRequest.read(fileSize)) | |
return img_url | |
else: | |
return '{"error":"File is too large."}' | |
else: | |
return '{"error":"File has an invalid extension."}' | |
def send_cover(self): | |
return self._u.writeFile(str(self.work.cover.name), self.work.cover.read(), True) | |
def _getExtensionFromFileName(self,fileName): | |
import os | |
filename, extension = os.path.splitext(fileName) | |
return extension |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment