密匙管理->SKsecret_key='替換成你的'#七牛空間名bucket_name='替換成你的'#臨時(shí)域名url='替換成你的'q=qiniu.Auth(access_key,secret_key)defqiniu_upload(key,localfile):token=q.uploa" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python的兩種上傳圖片方式

系統(tǒng) 2616 0

Python的兩種上傳圖片方式

  • 上傳至七牛云服務(wù)器
  • 上傳至自己服務(wù)器

上傳至七牛云服務(wù)器

代碼注釋寫(xiě)的已經(jīng)很清楚了,直接可以用

            
              access_key = '替換成你的'
# 個(gè)人中心->密匙管理->SK
secret_key = '替換成你的'
# 七牛空間名
bucket_name = '替換成你的'
#臨時(shí)域名
url = '替換成你的'
q = qiniu.Auth(access_key, secret_key)


def qiniu_upload(key, localfile):
 
    token = q.upload_token(bucket_name, key, 3600)
    ret, info = qiniu.put_file(token, key, localfile)
    if ret:
        return 'http://{0}/{1}'.format(url, ret['key'])
    else:
        raise Exception('上傳失敗,請(qǐng)重試')

@csrf_exempt
def upload_qiniu(request):
    """
              @api {POST} /upload_qiniu/ [上傳圖片至七牛]
               * @apiVersion 0.0.1
               * @apiGroup upload
              @apiParamExample {params} 請(qǐng)求參數(shù)
                  "image":""       "圖片文件"
              @apiSuccessExample {json} 成功返回
                      {
                "message": "",
                "next": "",
                "data": "",
                "response": "ok",
                "error": ""
            }
              @apiSuccessExample {json} 失敗返回
              {
                  "message": "",
                  "next": "",
                  "data": null,
                  "response": "fail",
                  "error": "上傳失敗","缺少參數(shù)"
              }
              """
    image = request.FILES.get("image")
    if not image:
        return ajax.jsonp_fail(request, u"缺少參數(shù)")
    service_name = save_block_file(image)
    data=qiniu_upload(service_name,get_absolute_file_path(service_name))
    if data:
        return ajax.jsonp_ok(request, data)
    else:
        return ajax.jsonp_fail(request, u"上傳失敗")

def save_upload_file(new_file_path, raw_file,name):
    """
    功能說(shuō)明:保存上傳文件
    raw_file:原始文件對(duì)象
    new_file_path:新文件絕對(duì)路徑
    """
    try:
        # 如果新文件存在則刪除
        if os.path.exists(new_file_path):
            try:
                os.remove(new_file_path)
            except:
                pass

        content = raw_file.read()
        fp = open(new_file_path, 'wb')
        fp.write(content)
        fp.close()
        return name
    except Exception as e:
        print (e)
        return False


def save_block_file(block_file):
    """
    :param block_file: 文件對(duì)象
    :return:
    """
    # 唯一標(biāo)識(shí) + 文件名   201801171.png
    now_time = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    name = '%s%s' % (now_time, block_file.name)
    block_file_path = get_absolute_file_path(name).replace("\\", "/")
    # 文件上傳保存
    return save_upload_file(block_file_path, block_file, name)


def get_absolute_file_path(file_name):
    """
    功能說(shuō)明:返回絕對(duì)路徑字符串
    file_name:文件名字
    """
    media_root = settings.UPLOAD
    print ("media_root",media_root)
    absolute_file_path = os.path.join(media_root, file_name)
    print("absolute_file_path", absolute_file_path)
    # 返回文件絕對(duì)路徑中目錄路徑
    file_dir = os.path.dirname(absolute_file_path)
    print ("file_dir", file_dir)
    if not os.path.exists(file_dir):
        # 創(chuàng)建路徑
        os.makedirs(file_dir)
    return absolute_file_path

            
          

上傳至自己服務(wù)器

            
              @csrf_exempt
def insert_img(request):
    """
              @api {POST} /upload/ [上傳圖片]
               * @apiVersion 0.0.1
               * @apiGroup note
              @apiParamExample {params} 請(qǐng)求參數(shù)
                  "image":""       "圖片文件"
          
              """
    image = request.FILES.get("image")
    if not image:
        return ajax.jsonp_fail(request, u"缺少參數(shù)")
    service_name = save_block_file(image)
    path = '%s/%s' % ("你的服務(wù)器地址", service_name)
    if not path:
        return ajax.jsonp_fail(request, u"上傳失敗")
    else:
        return ajax.jsonp_ok(request, path)


def save_upload_file(new_file_path, raw_file,name):
    """
    功能說(shuō)明:保存上傳文件
    raw_file:原始文件對(duì)象
    new_file_path:新文件絕對(duì)路徑
    """
    try:
        # 如果新文件存在則刪除
        if os.path.exists(new_file_path):
            try:
                os.remove(new_file_path)
            except:
                pass

        content = raw_file.read()
        fp = open(new_file_path, 'wb')
        fp.write(content)
        fp.close()
        return name
    except Exception as e:
        print(e)
        return False


def save_block_file(block_file):
    """
    :param block_file: 文件對(duì)象
    :return:
    """
    # 唯一標(biāo)識(shí) + 文件名   201801171.png
    now_time = datetime.datetime.now().strftime("%Y%m%d%H%M%S")
    name = '%s%s' % (now_time, block_file.name)
    block_file_path = get_absolute_file_path(name).replace("\\", "/")
    # 文件上傳保存
    return save_upload_file(block_file_path, block_file,name)


def get_absolute_file_path(file_name):
    """
    功能說(shuō)明:返回絕對(duì)路徑字符串
    file_name:文件名字

    """
    media_root = settings.UPLOAD
    print("media_root",media_root)
    absolute_file_path = os.path.join(media_root, file_name)
    print("absolute_file_path", absolute_file_path)
    # 返回文件絕對(duì)路徑中目錄路徑
    file_dir = os.path.dirname(absolute_file_path)
    print("file_dir", file_dir)
    if not os.path.exists(file_dir):
        # 創(chuàng)建路徑
        os.makedirs(file_dir)
    return absolute_file_path


            
          

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論