uedit修改文件上传路劲,支持api文件接口
2016-11-14 12:30
387 查看
首先修改一个东西ueditor/ueditor.config.js
控制器文件index.php 的rich_editor_upload_one_pic 方法
rich_editor_upload_one_pic 在mvc里面最好不要有权限控制,不然会有意向不到的意外
如果只是没有使用接口文件服务器,或者外网文件服务器,建议使用nfs挂载虚拟目录,这样既不用担心权限问题,也不担心性能问题,当然比如我现在这种蛋疼的情况,比较特殊
如果是本地或者nfs,需要修改上传路径,请修改php文件夹下面的config.json文件,注释很清楚
比如你的api接口就是支持多文件上传的那么file=name[]就是这样的,multiple="multiple"
如果你在ue里面需要用到
ueditor.all.js 的24486行
ajaxfileupload多文件上传也会这样,但是只有html5支持
也需要 file=name[]这样
serverUrl: URL + "php/controller.php" 原来 serverUrl: "http://www.zx.com/app.php?m=index&a=rich_editor_upload_one_pic" 最好使用绝对路径,因为多图上传的时候也调用的是这个
控制器文件index.php 的rich_editor_upload_one_pic 方法
rich_editor_upload_one_pic 在mvc里面最好不要有权限控制,不然会有意向不到的意外
public function rich_editor_upload_one_pic() { date_default_timezone_set("Asia/chongqing"); error_reporting(E_ERROR); header("Content-Type: text/html; charset=utf-8"); $url = SYSTEM_ROOT . '/Public/hplus/plugins/ueditor/php/config.json'; //必须读取,不然报错 $CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents($url)), true); $action = $_GET['action']; switch ($action) { case 'config': $result = json_encode($CONFIG); break; /* 上传图片 */ case 'uploadimage': $this->do_pic(); break; /* 上传涂鸦 */ case 'uploadscrawl': /* 上传视频 */ case 'uploadvideo': /* 上传文件 */ case 'uploadfile': // $result = include("action_upload.php"); $this->do_pic(); break; /* 列出图片 */ case 'listimage': $result = include("action_list.php"); break; /* 列出文件 */ case 'listfile': $result = include("action_list.php"); break; /* 抓取远程文件 */ case 'catchimage': $result = include("action_crawler.php"); break; default: $result = json_encode(array( 'state' => '请求地址出错' )); break; } /* 输出结果 */ if (isset($_GET["callback"])) { if (preg_match("/^[\w_]+$/", $_GET["callback"])) { echo htmlspecialchars($_GET["callback"]) . '(' . $result . ')'; } else { echo json_encode(array( 'state' => 'callback参数不合法' )); } } else { echo $result; } }
public function do_pic() { $exts = M("Config")->where("name='file_exts'")->getField("value"); $info = uploadFile('Contract', $exts, $err); if (!$info) { $return = array( "state" => "FAIL", //上传状态,上传成功时必须返回"SUCCESS" "url" => '', //返回的地址 "title" => "", //新文件名 "original" => "", //原始文件名 "type" => "", //文件类型 "size" => "" //文件大小 ); exit(json_encode($return)); } if (C("SERVERFILE_STATUS") == 0) { $data['url'] = $info['0']['file']; } else {//启用文件服务器 $data['url'] = C("SERVERFILE_URL") . $info['savepath'] . $info['savename']; } //必要的返回格式 $return = array( "state" => "SUCCESS", //上传状态,上传成功时必须返回"SUCCESS" "url" => $data['url'], //返回的地址 "title" => "", //新文件名 "original" => "", //原始文件名 "type" => "", //文件类型 "size" => "" //文件大小 ); exit(json_encode($return)); }
如果只是没有使用接口文件服务器,或者外网文件服务器,建议使用nfs挂载虚拟目录,这样既不用担心权限问题,也不担心性能问题,当然比如我现在这种蛋疼的情况,比较特殊
如果是本地或者nfs,需要修改上传路径,请修改php文件夹下面的config.json文件,注释很清楚
比如你的api接口就是支持多文件上传的那么file=name[]就是这样的,multiple="multiple"
如果你在ue里面需要用到
ueditor.all.js 的24486行
'<input id="edui_input_' + timestrap + '" type="file" accept="image/*" name="' + me.options.imageFieldName + "[]"+'" ' + //改好的
'<input id="edui_input_' + timestrap + '" type="file" accept="image/*" name="' + me.options.imageFieldName +'" ' + //原来的
ajaxfileupload多文件上传也会这样,但是只有html5支持
也需要 file=name[]这样
相关文章推荐
- asp.net修改web.config以支持大文件上传
- JS_单个或多个文件上传_不支持单独修改
- webservice支持大文件上传配置修改
- 让UpdatePanel支持文件上传(3):客户端组件
- jsp中上传大文件(200M已测试),存到数据库,易发生连接超时的ie找不到网页的错误,其解决方法。略写代码,参考(.net修改代码应该可以,改天修改)
- 文件上传的实现 (马马 2001年09月28日 17:14) PHP同样支持上传文件的功能,但并不是所有支持PHP的网站都支持此功能,特别是免费的网站。 实现上传,首先要在HTML上加入上传文件的“<FORM>”表格。 <form me
- Dvbbs 修改上传文件类型
- 实现支持文件分块多点异步上传的 Web Services 及其客户端(非Web)应用程序调用相关异步执行的 Web Method
- 让UpdatePanel支持文件上传(2):服务器端组件
- CS Tip 11: 修改上传文件的大小限制
- 修改上传文件控件样式并实现上传文件功能
- .NET下的FTP上传,下载文件(支持中文名)
- (转)Asp.net支持的最大上传文件大小
- 利用Flash上传大文件:swfupload修改以及详细说明
- 让UpdatePanel支持文件上传(1):开始
- 化境文件上传修改版.可检测任何木马
- 信息编辑,上传文件编辑、删除,用户个人资料修改程序完成 2004-08-21
- asp.net常用的一个很好用的控制文件下载的函数 支持续传多线(控制多线请自行修改)
- Asp.net支持的最大上传文件大小
- IIS6 ASP 无法支持大文件上传的问题