ueditor上传图片成功不显示,如何将本地文件上传到服务器

文章 3年前 (2021) admin
0
ueditor上传图片成功不显示,如何将本地文件上传到服务器

Q1:ueditor 部署在服务器上上传图片就一直显示正在上传,本地正常

因为你没有配置好,上传的文件名包含了localhost或者你本地的IP地址,换句话说,图片的路径是本地地址+图片名上传的

Q2:ueditor服务器上图片上传错误,返回500内部服务器错误,权限没问题,本地正常

首先第一看editor_config.js中的路径是否正确,注意的是使用绝对路径还是相对路径?如果你的framewok版本是4.0的版本,则需要写绝对路径,相对路径是没有用的,如果是4.0以下的版本则可以写相对路径! 其次,小编发现有不少人的framewok版本还停留在1.1,因此,那么就请更新下版本到2.0以上,小编认为4.0的版本还不如2.0的来的简单,因为4.0的版本需要写绝对路径,而低些的则不需要,因此开发起来会省事些! 最后要说明的就是如果你使用的framewok版本是4.0的版本,只需要修改路径即可,如果你使用的framewok版本比4.0低(不要低与2.0),则还需要修改一处,就是将ueditor/net/中的web.config这个文件删除掉即可!

Q3:ueditor服务器图片上传提示IO错误。。。。

tomcat 根目录下新建temp文件夹,ueditor文件流存放路径是这个,实际生成的文件在自定义的配置文件里,试试是否可以解决

Q4:ueditor 可以上传远程服务器吗

远程图片上传是个很有意思的东西,比如你从别的网站复制一段文件,如果文字中带有图片,编辑器会自动将图片提取出来,进行上传,从而不用担心远程图片失效后,自己本地也无法浏览。

  通过检查,发现远程图片上传的操作页面是:getRemoteImage.php 。打开后我们先配置 savePath ,因为不同用户使用,需要存放到不同的目录,以免混乱,也方便管理

  修改后代码:

复制代码 代码如下:
//远程抓取图片配置
if(isset($_SESSION['admin'])){
$myPath = '/../dofiles/ueditorUpload/admin/'.$_SESSION['admin']['id'].'/';
}else if(isset($_SESSION['user'])){
$myPath = '/../dofiles/ueditorUpload/user/'.$_SESSION['user']['id'].'/';
}else{
$myPath = '/../dofiles/ueditorUpload/unkonw/';
}
$config = array(
"savePath" => $myPath , //保存路径
"allowFiles" => array( ".gif" , ".png" , ".jpg" , ".jpeg" , ".bmp" ) , //文件允许格式
"maxSize" => 3000 //文件大小限制,单位KB
);

 然后问题就来了,UEditor 里,文件、图片上传都是通过 Uploader.class.php 这个php类操作的,但远程图片上传则不是。

  我在85行发现,创建路径的时候,单纯的使用了mkdir进行来创建,因为mkdir不能创建带有层级的路径,所以导致在路径如果不存在的情况下,复制远程图片上传失败。

  知道问题处理起来就容易了,我先写一个循环创建文件目录的函数(因为之前写过,这里就直接拿来用了):

复制代码 代码如下:
//连续创建带层级的文件夹
function recursive_mkdir($folder){
$folder = preg_split( "/[\\\\\/]/" , $folder );
$mkfolder = '';
for($i=0; isset($folder[$i]); $i++){
if(!strlen(trim($folder[$i]))){
continue;
}
$mkfolder .= $folder[$i];
if(!is_dir($mkfolder)){
mkdir("$mkfolder",0777);
}
$mkfolder .= DIRECTORY_SEPARATOR;
}
}

然后修改85行:
复制代码 代码如下:
//创建保存位置
$savePath = $config[ 'savePath' ];
if ( !file_exists( $savePath ) ) {
recursive_mkdir($savePath);
//mkdir( "$savePath" , 0777 );
}

这样一来,就没有问题了。

  这问题也已经提交给百度官方,希望修正。

测试UEditor版本为1.2.3.0,如果之前版本也有相关问题,按照修改思路去修改应该也可以解决。

Q5:百度ueditor在本地测试一切正常,但是上传到服务器后上传图片时出现了问题?

,路径什么的配置什么的写正确了吗?跟踪一下吧,看看imageUp放回了一些什么数据...

Q6:如何使用ueditor上传照片

在ueditor目录下找到uedior.config.js,找到如下三行:,imageUrl: "/controller.json" //图片上传提交后台对应的地址,路径固定为*/controller.*,imagePath: "/ueditor/" //图片在服务器上的存储目录,imageFieldName: "upload" //后台对应接收image的参数名或者:var ueditor = UE.getEditor('myEditor',{ imageUrl: "/servlet/UploadServlet", //图片上传提交后台对应的地址 imagePath: "/ueditor/", //图片在服务器上的存储目录 imageFieldName: "upload" //后台对应接收image的参数名});注意:记得在uedior.config.js配置文件中把"serverUrl"注释掉在/ueditor/_src/plugins/simpleupload.js文件中,把link = me.options.imageUrlPrefix + json.url; 改为link = getRootPath()+json.url;最后配置服务器返回的数据格式,这需要这服务器端进行修改。对应于后台接收上传图片的那个controller,返回的格式需如下:{'url':'60391393848223.jpg','title':'p1999637039.jpg','original':'p1999637039.jpg','state':'SUCCESS'}注意:url用相对路径,这样就OK了。

版权声明:admin 发表于 2021年11月19日 下午9:51。
转载请注明:ueditor上传图片成功不显示,如何将本地文件上传到服务器 | 热豆腐网址之家

相关文章