thinkphp 6.0 使用tinyMCE image 图片上传插件应该注意的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了thinkphp 6.0 使用tinyMCE image 图片上传插件应该注意的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1603字,纯文字阅读大概需要3分钟。
内容图文
![thinkphp 6.0 使用tinyMCE image 图片上传插件应该注意的问题](/upload/InfoBanner/zyjiaocheng/597/0910ce4261f74df3981153e7ceafcaea.jpg)
一般情况下,tinyMCE的image的图像上传功能接收来自服务器返回的json字符串,然后解析成图片链接引入编辑器。
但是,在开发过程中, 由于tp处于debug模式, 返回的数据会附带上调试的html, js代码,从而导致因该返回的json字符串解析失败,错误信息如下:
Uncaught SyntaxError: Unexpected token < in JSON at position 0
所以,返回json字符串后,应该立即调用exit就可避免这样的问题出现。
示例(最后一行):
public function saveImg()
{
//专为tinyMCE的图片上传函数,参照tinyMCE手册改写
//http://tinymce.ax-z.cn/advanced/php-upload-handler.php
reset($_FILES);
$temp = current($_FILES);
// dump($temp);
// $file = $temp['tmp_name'];
// $fileName = $temp['name'];
// dump($file);
// dump($fileName);
// $Msg = serialize($temp);
// header("HTTP/1.1 500 $Msg");
// dump()
// $file = Request::file("temp_name");
// dump($file);
// $fileName = $file->getOriginalName();
// dump($fileName);
if (!is_uploaded_file($temp['tmp_name'])) {
header("HTTP/1.1 500 Server Error");
exit;
}
// 简单的过滤一下文件名是否合格
// if (preg_match("/([^\w\s\d\-_~,;:\[\]\(\).])|([\.]{2,})/", $temp['name])) {
// header("HTTP/1.1 400 Invalid file name.");
// exit;
// }
// 验证扩展名
// if (!in_array(strtolower(pathinfo($fileName, PATHINFO_EXTENSION)), array("gif", "jpg", "png", "jpeg"))) {
// header("HTTP/1.1 400 Invalid extension.");
// exit;
// }
// dump($file->getPathname());
// $file = fopen($file->getPathname());
// dump($temp['tmp_name']);
// $file = fopen($temp['tmp_name'], 'r');
$file = new File($temp['tmp_name']);
$info = Filesystem::disk('img')->putFile('', $file, 'md5');
$info = '/storage/img/' . $info;
echo json_encode(array('location' => $info));
exit;
}
内容总结
以上是互联网集市为您收集整理的thinkphp 6.0 使用tinyMCE image 图片上传插件应该注意的问题全部内容,希望文章能够帮你解决thinkphp 6.0 使用tinyMCE image 图片上传插件应该注意的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。