• 使用新浪图床


    使用微博图床,简单上传图片返回外链

    平时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
  • 相关阅读:
    python_面向对象——多态
    python_面向对象——封装
    python_面向对象——多继承
    python_面向对象——继承
    python_面向对象——对象间的组合关系
    python_面向对象——类之间的依赖关系
    python_面向对象——对象之间的关联关系
    python_异常处理
    python_反射:动态导入模块
    python_网络编程socketserver模块实现多用户通信
  • 原文地址:https://www.cnblogs.com/aubucuo/p/sinapic.html
Copyright © 2020-2023  润新知