刚写完一篇文章没多久我又开始瞎折腾了,这次用客户端发布文章
准备
打开博客的XmlRpc接口 (设置->基本->XMLRPC 接口)
下载xmlrpc替换/var/Widget/XmlRpc.php
打开xmlrpc
的Markdown
语法编辑功能https://example.com/admin/profile.php
安装
应用下载
文件上传
解决客户端上传文件失败问题
修改位置:/var/Widget/Upload.php
1 2 3 4
| #126行 if (!file_put_contents($path, $file['bytes'])) {} #改为 if (!file_put_contents($path, base64_decode($file['bytes']))) {}
|
如果你使用其他上传插件,以下针对插件修改
注意:新版本需要base64解密base64_decode($file['bytes'])
OssForTypecho 阿里云OSS上传插件
修改位置:Plugin.php
1 2 3 4
| $result = $ossClient->uploadFile($options->bucket, substr($path,1), $uploadfile); if (isset($file['tmp_name'])) { $result = $ossClient->uploadFile($options->bucket, substr($path, 1), $uploadfile); } else { $result = $ossClient->putObject($options->bucket, substr($path, 1), $uploadfile); }
|
1 2 3 4
| #310行 return isset($file['tmp_name']) ? $file['tmp_name'] : (isset($file['bytes']) ? $file['bytes'] : (isset($file['bits']) ? $file['bits'] : '')); #改为 return isset($file['tmp_name']) ? $file['tmp_name'] : (isset($file['bytes']) ? base64_decode($file['bytes']) : (isset($file['bits']) ? $file['bits'] : ''));
|
1 2 3 4
| 'mime' => @Typecho_Common::mimeContentType($path) 'mime' => (isset($file['tmp_name']) ? Typecho_Common::mimeContentType($file['tmp_name']) : $file['mime'])
|
Qiniu File Typecho 的附件上传至七牛云存储中
修改位置:Plugin.php
1 2 3
| $filename = $file['tmp_name']; if (!isset($filename)) return false;
|
1 2 3 4
| if ($error == null) .... else return false; if (isset($file['bytes'])) { list($ret, $error) = $upManager->put($token, $option->savepath . $file['name'], base64_decode($file['bytes'])); if ($error == null) { return array( 'name' => $file['name'], 'path' => $option->savepath . $file['name'] . ($option->imgstyle == '' ? '' : '-' . $option->imgstyle), 'size' => $file['size'], 'type' => $ext, 'mime' => $file['mime']//Typecho_Common::mimeContentType($option->savepath . $file['name']) ); } else { return false; } } else { // 上传文件 $filename = $file['tmp_name']; //if (!isset($filename)) return false; list($ret, $error) = $upManager->putFile($token, $option->savepath . $file['name'], $filename); if ($error == null) { return array( 'name' => $file['name'], 'path' => $option->savepath . $file['name'] . ($option->imgstyle == '' ? '' : '-' . $option->imgstyle), 'size' => $file['size'], 'type' => $ext, 'mime' => Typecho_Common::mimeContentType($filename) ); } else { return false; } }
|
cosUploadV5 针对腾讯云cos v5更新 for Typecho
修改位置:Plugin.php
1 2 3 4
| #164行 $file['bytes'] #改为 base64_decode($file['bytes'])
|
问题
闪退需要使用Android7+版本
关闭post和ua过滤
截图