原创文|Space9
发布日期:2019年8月24日 10:36
Python 3
import os
import filetype
import requests
from requests_toolbelt import MultipartEncoder
# 支持.jpg .gif .png .jpeg .bmp .webp,大小不超过5M
pic_path = "D:\\images\\test.jpg" # 图片路径
filename = os.path.split(pic_path)[-1]
mime = filetype.guess(pic_path).mime
def check_size():
pic_size = os.path.getsize(pic_path)
if pic_size > 5242880:
return False
else:
return True
def check_type():
extension = os.path.splitext(pic_path)[1]
if extension == ".jpeg" or extension == ".jpg":
return True
if extension == ".gif":
return True
if extension == ".png":
return True
if extension == ".bmp":
return True
if extension == ".webp":
return True
return False
if not check_size():
print("仅支持大小不超过5M的图片")
else:
if not check_type():
print("仅支持.jpg .gif .png .jpeg .bmp .webp格式的图片")
else:
fields = {
'file': (filename, open(pic_path, 'rb'), mime),
}
m = MultipartEncoder(fields)
headers = {
'cookie': '', # CSDN登录后的cookie
'content-Type': m.content_type,
}
url = 'https://mp.csdn.net/UploadImage?shuiyin=2'
res = requests.post(url, headers=headers, data=m)
print(res.json())
import time
import uuid
import requests
from requests_toolbelt import MultipartEncoder
# 支持.jpg .gif .png .jpeg .bmp .webp,大小不超过5M
array = ["a", "b", "c", "d", "e", "f",
"g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
"t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
"6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
"J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
"W", "X", "Y", "Z"]
def get_short_id():
id_str = str(uuid.uuid4()).replace("-", '')
buffer = []
for i in range(0, 8):
start = i * 4
end = i * 4 + 4
val = int(id_str[start:end], 16)
buffer.append(array[val % 62])
return "".join(buffer)
up_url = "www.***.com/test.jpg" # 网络图片地址
salt = get_short_id()
uuid = 'img-' + salt + '-' + str(round(time.time() * 1000))
print(uuid)
fields = {
'art_id': 'undefined', 'uuid': uuid,
'url': up_url
}
m = MultipartEncoder(fields)
headers = {
'cookie': '', # CSDN登录后的cookie
'content-Type': m.content_type,
}
url = 'https://mp.csdn.net/link_fetch'
res = requests.post(url, headers=headers, data=m)
print(res.json())
本文仅为个人学习使用,不得用于任何商业用途,否则后果自负!如侵犯到您的权益,请及时通知我,我会及时处理。
现在npm上有很多gulp内联工具,用于把脚本和样式内嵌到HTML页面上,之前搞项目我也在这些插件中寻觅许久,但均不满足公司项目的一个需求—— HTML上同时插入了开发(dev版,src文件夹下,比如 src/index.html)和gulp处理后(build版,dest文件夹下,比如 dest/index.html)的两种版本的脚本,要求运行src文件夹下的该页面时,能忽略掉引入的bu...
1.可以被IDA解析的文件包括.exe、.so、.o等格式。——打开方式:1.选择文件(代码如下),点ok。(十进制转二进制,八进制代码)`#include<stdio.h>#include<math.h>int main(){int a,b,n;while(scanf("%d&a
新谈:为什么你觉得FPGA难学?如何入门?今天给大侠带来新谈:为什么你觉得FPGA难学?如何入门?以前发过一篇,但是也是很多年前了,大体上还是可以参考,随着技术的发展革新,有些内容还是要与时俱进一下的,可以聊一聊个人的最新看法,仅供参考学习,话不多说,上货。各位大侠会发现,FPGA技术江湖一直都在推送各种设关于FPGA的设计实例或者项目研发案例,会把设计方法和设计思想都阐述清楚,甚至有些会分享源码供各位大侠参考学习,很少去搞一些纯粹噱头性的文章,这就是因为现在社会的大环境差点意思,噱头性浮夸或者
概述说道Launcher,想必大家也都不陌生,很多人感觉很深奥的一个东西,其实他就是一个,launcher其实就是一个app,从功能上说,是对手机上其他app的一个管理和启动,从代码上说比其他app多了一个属性,就是在AndroidManifest.xml文件中多了一个“”属性 和,考虑的方面比较多,逻辑处理和代码规范性比较强,安卓各方面知识的应用比较多。如果系统只安装了一个launcher,就...
试题描述:小明同学想将自己的零花钱存起来,捐献给贫困地区的同龄人。为了方便记录自己存钱的总数,于是,当他存的钱满10元,他就去换取一张10元的纸币;当满100元,他就换取一张100元的纸币,当满1000元,他就将10张100元纸币放在一起...。为了方便统计,小明构建了一个由正整数组成的数组,数组中每个元素都只存储当个数字。小明存储的零花钱的最高为放在数组的首位,最低位放在数组的末尾。现在他刚获得...
为了页面的美观,这里我们使用的UI库为: Ant Design Vue项目源码仓库地址:https://github.com/LuckRain7/arcgis-api-for-javascript-vue 1. 首先创建工具菜单组件创建文件 src\components\ToolBar.vue并通过组件通信写好对应接口<template> <div class="toolbar"> <!-- 使用按钮组 --> <a-button-.
这个github创建的示例应用程序以演示如何使用 Spring Boot 在 Java 中正确实现 Apache Pulsar 队列消费者的正常关闭。队列消费者实施强大的优雅关闭策略:我们是立即停止处理飞行中的队列消息,还是等待它们完成? 我们是否停止接受新的队列消息? 我们该如何处理本地排队的消息?想象一下,您的应用程序是一组汽车(容器的部署)愉快地行驶——灯是绿色的。现在,您需要停止应用程序,以便部署新版本。你可以告诉应用程序它需要立即停止(立即红灯)——但是,就像汽车接近十字路口一样,这
原因:jar包冲突tomcat 启动后先将tomcat/lib目录下的jar包全部读入内存,如果webapps目录里的应用程序中WEB-INF/lib目录下有相同的包,将无法加载,不同版本的包之间也会造成类似问题解决这个问题的方法就是对于servlet-ap.jar 使用 <scope>标签,编译的时候用到servlet-api,但在打包的时候不用这个依赖,配置成provided<dependency> <groupId>javax.servlet<..
电子邮箱的格式为:用户名、@符号、域名,每个人的邮箱账号都是独一无二的,如果想要申请注册电子邮箱,可以在Tom企业邮箱的官网中查看邮箱介绍、申请注册邮箱。
问题:1、 使用oracle dump方式导出的数据在导入的时候不能随意选择一张表的数据进行导入;一般业务的表的数量都有1000左右,在出现由于某张表数据异常导致的故障时,用dump文件进行恢复基本不可行或者很费事;2、 表存在外键约束和触发器,使用oracle dump import方式导入表的时候不能非常简单的禁止触发器和外键,导致大量错误产生,导入的表的数据不全,部...
环境centos8过程今天安装centos8安装Docker的时候出现一个问题原因是:centos8默认使用podman代替docker,所以需要containerd.io,那我们就安装一下就好了解决办法是:安装containerd.io即可yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm然