def get_img_url(): img_dir = '/images' domain_name = 'fruitrepository' sae_storage_conn = Connection() tmp_bucket = sae_storage_conn.get_bucket(domain_name) dacl = tmp_bucket.generate_url('images/titlepic.jpg') return dacl
def __init__(self, bucket_name=STORAGE_BUCKET_NAME, accesskey=STORAGE_ACCESSKEY, secretkey=STORAGE_SECRETKEY, account=STORAGE_ACCOUNT): conn = Connection(accesskey, secretkey, account) self.bucket = conn.get_bucket(bucket_name)
def save_image_return_url(filename, file): """ return: the url of the image in the storage """ c = Connection() bucket = c.get_bucket('images') bucket.put_object(filename, file.read()) return bucket.generate_url(filename)
def save_image_return_url_sae(filename, file): """仅供本地调试使用 """ from sae.storage import Connection, Bucket c = Connection() bucket = c.get_bucket('images') bucket.put_object(filename, file.read()) return bucket.generate_url(filename)
def del_pet(pet_id): kv = sae.kvdb.Client() image_url = kv.get(pet_id)['photo_url'] object_name = image_url.split('/')[-1] kv.delete(pet_id) number = kv.get('petsnumber') - 1 kv.replace('petsnumber', number) c = Connection() bucket = c.get_bucket('images') bucket.delete_object(object_name) kv.disconnect_all()
def get_sae_bucket(): # from sae.storage import Bucket from sae.storage import Connection from exchcard import settings connection = Connection(accesskey=settings.DATABASES.MYSQL_USER, secretkey=settings.DATABASES.MYSQL_PASS, account="exchcard2", retries=3) bucket = connection.get_bucket(settings.STORAGE_BUCKET_NAME) bucket.post(acl=".r:*", metadata={"expires": "1d"}) return bucket
def __init__(self, **kwargs): bucket = kwargs['bucket'] if 'bucket' in kwargs else '' accesskey = kwargs['accesskey'] if 'accesskey' in kwargs else '' secretkey = kwargs['secretkey'] if 'secretkey' in kwargs else '' account = kwargs['account'] if 'account' in kwargs else '' # app name retries = long( kwargs['retries']) if 'retries' in kwargs else 3 # app name self.prefix = kwargs['prefix'] if 'prefix' in kwargs else '' if accesskey and secretkey and account: conn = Connection(accesskey, secretkey, account, retries) self.kv = conn.get_bucket(bucket) else: self.kv = Bucket(bucket)
def _store_image(image_url, image_type, image_data): """保存图片信息,并返回外链 :param image_url: :param image_type: :param image_data: :return: """ con = Connection() m = hashlib.md5() m.update(image_url) object_name = m.hexdigest() con.put_object(BUCKET, object_name, image_data, image_type) return con.generate_url(BUCKET, object_name)
def store_images(news_list, date_str): """保存images """ con = Connection() news_list_copy = [] for news in news_list: a_news_copy = dict(news.items()) image_type = a_news_copy.pop('image_type') image_data = a_news_copy.pop('image_data') image_url = a_news_copy.pop('image_url') # 保存image object_name = hashlib.md5(image_url).hexdigest() con.put_object(config.IMAGE_BUCKET, object_name, image_data, image_type) public_image_url = con.generate_url(config.IMAGE_BUCKET, object_name) a_news_copy['public_image_url'] = public_image_url a_news_copy['date_str'] = date_str news_list_copy.append(a_news_copy) return news_list_copy
def store_images(news_list, date_str): """保存images :param news_list: :param date_str: :return: """ con = Connection() news_list_copy = [] for news in news_list: a_news_copy = dict(news.items()) image_type = a_news_copy.pop('image_type') image_data = a_news_copy.pop('image_data') image_url = a_news_copy.pop('image_url') # 保存image object_name = hashlib.md5(image_url).hexdigest() con.put_object(config.IMAGE_BUCKET, object_name, image_data, image_type) public_image_url = con.generate_url(config.IMAGE_BUCKET, object_name) a_news_copy['public_image_url'] = public_image_url a_news_copy['date_str'] = date_str news_list_copy.append(a_news_copy) return news_list_copy