首先使用cf自建一个图床,这是 项目地址
当然你可以用我搭建好的 图床
分析下api
就是post携带files字段返回data数组里面的链接名字并提取使用
修改nodeseek编辑器增强脚本源码
分析一下,需要改这几个地方
请求头改为
const imgHost = {
type: "LskyPro", // 图床类型, 支持 LskyPro / Telegraph / EasyImages
url: "https://pic.535888.xyz/rest/upload", // 图床地址, 带上协议头
token: null, // 图床 token, 可选, 不填则为游客上传, LskyPro 在 /user/tokens 生成, EasyImages 填写则使用后端接口上传, 不填写则使用前端接口上传
storageId: null, // 图床存储策略ID, 可选项, 不填则为默认策略, 普通用户可在上传页抓包得到, 管理员可以在后台看到
};
//169行代码 file字符串改成files
formData.append('files', file);
uploadToLsky
方法改成
async function uploadToLsky(formData) {
return new Promise((resolve, reject) => {
let headers = {
'Accept': 'application/json'
};
if (imgHost.token)
headers['Authorization'] = `Bearer ${imgHost.token}`;
GM_xmlhttpRequest({
method: 'POST',
url: `${imgHost.url}`,
headers: headers,
data: formData,
onload: (rsp) => {
let rspJson = JSON.parse(rsp.responseText);
if (rspJson.code !== 200) {
log(`图片上传失败: ${rspJson.code} ${rspJson.msg}`, 'red');
reject(rspJson.message);
}
if (rspJson.code === 200) {
// 图片上传成功
if (rspJson.data[0])
insertToEditor(`![${rspJson.data[0].filename}](${rspJson.data[0].copyUrl})`);
else {
log('图片上传成功, 但接口返回有误, 原始返回已粘贴到编辑器', 'red');
insertToEditor(`图片上传成功, 但接口返回有误: ${JSON.stringify(rspJson)})`);
}
} else
log(`图片上传失败: ${rspJson.msg}`, 'red');
resolve();
},
onerror: (error) => {
log(`图片上传失败: ${error.status} ${error.statusText}`, 'red');
reject(error);
}
});
});
}
到此调试下脚本,正常运行
顶一下,如何呢
还可以哦
难怪想传图半天没反应,还以为网有问题
吃鸡腿吧你
打个广告:https://www.nodeseek.com/post-61607-1
试试
很赞
就10G空间吧
绑定
mark