v2ex复制粘贴上传图片
// ==UserScript==
// @name v2ex复制粘贴上传图片
// @namespace https://bbs.tampermonkey.net.cn/
// @version 0.1.0
// @description v2ex复制粘贴上传图片到imgur
// @author 王一之
// @match https://www.v2ex.com/t/*
// @match https://www.v2ex.com/new/share
// @grant GM_xmlhttpRequest
// ==/UserScript==
(function () {
'use strict';
// 监听图片粘贴
let editor = document.querySelector('#reply_content') || document.querySelector('#topic_content');
if (!editor) {
return;
}
editor.addEventListener('paste', (ev) => {
if (!ev.clipboardData || !ev.clipboardData.items.length) {
return;
}
if (!ev.clipboardData.items[0].type.startsWith("image")) {
return;
}
// 上传图片
let file = ev.clipboardData.items[0].getAsFile();
let form = new FormData();
form.append('image', file);
form.append('type', 'file');
form.append('name', file.name);
GM_xmlhttpRequest({
url: 'https://api.imgur.com/3/image?client_id=546c25a59c58ad7',
method: 'POST',
data: form,
onload(resp) {
let json = JSON.parse(resp.response);
if (json.status === 200) {
editor.value += "\n" + json.data.link;
} else {
alert("上传错误:" + resp.response);
}
}, onerror() {
alert('上传错误,未知错误');
}
});
});
})();