使用新浪圖床


使用微博圖床,簡單上傳圖片返回外鏈

平時markdown用的頻繁,當然需要一個簡單好用的獲得圖片外鏈的方法。於是自己動手做了這個。
在我的網站上運行,先上圖。
pic1
首先申請個新浪微應用,授權獲得auth2_token,后台實現上傳圖片后轉發到微博,獲得外鏈。
接收文件 view.py

@app.route("/xxxxxxx", methods=["GET", "POST"])
def xxxxxxxxx():
    t1 = [0,]
    if request.method == 'POST':
        t1[0] = 1
        f = request.files['file']
        pic_path='/s/jay/%s'%f.filename
        bkt.put_object(f.filename, f)
    	t1.append(weibo.uploadpic(pic_path))
    else:
        t1.append('none')
    return render_template('uploadpic.html',t=t1)

weibo.uploadpic(pic_path)

def uploadpic(pic_path):
    s=session()
    wb_url = 'https://api.weibo.com/2/statuses/share.json'
    wb_content=pic_path+" 填充"
    d2 = {"access_token":"填充",  
    "status": wb_content }
    
    files={"pic":open(pic_path,"rb") }  
    rs = s.post(wb_url,data=d2,files=files)
    return str(rs.json()['original_pic'])

uploadpic.html

{%  extends 'base.html' %}
{% block page %}  
    <h2>微博圖床,圖片外鏈</h2>
        <div class="am-u-lg-12 am-u-md-12 am-u-sm-12">
          <form class="am-form" action="" method="POST" enctype="multipart/form-data">
            <label for="message" class="about-color">上傳文件:</label>
            <br><input id="File1" type="file" name="file"/>
            <br>
            <button type="submit" class="am-btn am-btn-primary am-btn-sm">
			<i class="am-icon-check"></i> 上傳</button>
          </form>
        </div>
<p>文件上傳至微博賬號 <a href="填充" target="_blank">填充</a></p>
<p>鏈接中已知可變參數:large thumbnail(縮略圖) small </p>

{% if t[0] %}
	<p>圖片上傳成功! </p>
<script type="text/javascript">
function copyUrl2(){
var Url2=document.getElementById("biao1");
Url2.select(); // 選擇對象
document.execCommand("Copy"); 
}
</script>
<textarea cols="60" rows="2" id="biao1">{{t[1]}}</textarea>
<input type="button" onClick="copyUrl2()" value="點擊復制" />

{% endif %}
{% endblock %}

其他

  • 這個網頁鏈接是私密的。站點訪問量也極少,因此不用鑒權也很安全。
  • 關於其他 url 參數,試過新浪雲存儲的圖片參數,並不支持。可能通過微博生成的圖片外鏈只有這幾(large/small)參數可選。
  • sae 屏蔽的python sdk 已知的有:sqlite3/qiniu


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM