`

ueditor上传图片中文文件名失败的解决办法

阅读更多

    ueditor是一个非常不错的在线html编辑器,作为百度的产品,在百度贴吧等应用中广泛应用,经受了时间和用户的考验,功能,性能和稳定性来说都是不错的。

    在试验的过程中,发现ueditor 默认使用时间戳加上6位随机数作为上传图片的名称,这样就导致一个问题,不管用户上传的是“简历.jpg”还是“myphotos.jpg”在服务器端都会变成类似 “1416821640984672.jpg”这样一串数字的文件名。对于日后文件的识别和管理非常不方便。在php版本的ueditor中,php文件夹中,可以通过config.json来更改这一设置。我将保存文件名更改成了 {time}_{filename} 这样,如果用户上传的文件是“我的照片.jpg”服务器端就会保存为类似 ”1416821640_我的照片.jpg“。

 

    在修改好这一配置后,开始上传了几个图片也都正常,但是在上传某些文件名带有中文的图片时,出现的上传错误,并且不能显示图片。查看html源代码,发现img src的路径是正确的,但是图片不能显示。

1.png

 

    到服务器上的上传文件夹去一看,文件是有了,但是文件名变成了乱码”1417049031_涓枃.jpg“,而不是期望的”1417049031_中文.jpg“,原因就是UTF版本的ueditor保存的中文文件名也是utf8的。解决方法很简单,找到其处理上传的核心文件,Upload.class.php,在第120行左右,将

 //移动文件

        if (!(move_uploaded_file($file["tmp_name"], $this->filePath) && file_exists($this->filePath))) { 

            $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");

        } else { 

            $this->stateInfo = $this->stateMap[0];

        }

 

//改为

 

      //移动文件

        $saveFilePath=iconv("UTF-8", "GBK//IGNORE",$this->filePath);//GBK//IGNORE可以替换为gb2312

        if (!(move_uploaded_file($file["tmp_name"], $saveFilePath) && file_exists($saveFilePath))) {

            $this->stateInfo = $this->getStateInfo("ERROR_FILE_MOVE");

        } else {

            $this->stateInfo = $this->stateMap[0];

        }

 

 

 

     

  • 大小: 45.4 KB
分享到:
评论

相关推荐

    uEditor上传图片并保存为原文件名

    【标题】"uEditor上传图片并保存为原文件名"涉及的是在ASP.NET环境中使用uEditor编辑器进行图片上传,并确保图片文件以上传时的原始文件名存储的过程。uEditor是一个流行的富文本编辑器,广泛应用于网站内容管理系统...

    ueditor 上传图片

    【ueditor 图片上传详解】 ueditor 是一个强大的富文本编辑器,广泛应用于网页内容编辑、博客写作等场景。它提供了丰富的编辑功能,包括文本格式化、图片上传、文件附件等。在“ueditor 上传图片”这个主题中,我们...

    百度的UEditor修改图片上传路径版

    - 确保修改后的路径是可写的,否则图片上传会失败。 - 如果服务器有权限控制,需要确保 UEditor 运行的用户有足够的权限访问和写入指定路径。 - 路径中可以包含动态变量,如日期、时间戳等,以便更好地组织和管理...

    UEditor图片上传到后台

    2. 错误处理:如果上传失败,UEditor会显示错误提示。开发者可以自定义错误处理函数,根据服务器返回的状态码和错误信息给出友好的提示。 五、安全与性能优化 1. 图片格式与大小限制:为了防止恶意上传大文件或不...

    ueditor修改图片上传 文件上传 .net版 自定义文件夹

    《.NET版ueditor图片与文件上传自定义文件夹详解》 ueditor是一款广泛应用的富文本编辑器,它集成了图片、文件上传等功能,极大地丰富了网页内容的编辑体验。在.NET开发环境中,我们常常需要根据项目需求对ueditor...

    百度UEditor 1.3.6 net版 图片上传功能

    1. **图片上传接口**:UEditor 1.3.6支持用户在编辑过程中直接上传本地图片到服务器。这一功能的实现依赖于后端提供的图片上传接口,接口通常接收图片文件并返回图片的URL,供编辑器显示。 2. **多格式支持**:编辑...

    ueditor独立文件上传 .net示例

    在.NET项目中,你需要创建一个处理ueditor上传请求的控制器或API接口。通常,这个接口会接收到ueditor发送的POST请求,请求中包含了待上传文件的信息。服务器端需要验证请求的有效性,然后接收文件并保存到指定的...

    基于ueditor开发的仿QQ空间照片上传功能

    在开发仿QQ空间照片上传功能时,我们需要利用ueditor的图片上传接口。这通常涉及到以下几个步骤: 1. **配置ueditor**:解压下载的ueditor压缩包,并将其内容复制到项目的根目录下。ueditor包含前端资源(如...

    基于PHP的UEditor

    UEditor本身是JavaScript编写的前端组件,它通过AJAX与服务器进行交互,处理上传图片、视频等操作。在PHP环境中,我们需要搭建一个后端服务来接收并处理这些请求。通常,这个服务会处理图片上传、视频处理、文件管理...

    Ueditor1.4.3.3在ASP.net MVC5中的使用

    Ueditor上传的文件需要有权限写入到指定的服务器目录。确保IIS应用池的标识具有对目标文件夹的读写权限,例如"wwwroot\ueditor\upload"。在IIS管理器中,找到对应站点,选择“目录安全性”选项卡,然后在“身份验证...

    百度编辑器UEditor完整版dome(php)

    UEditor的一个关键特性是支持文件和图片的上传。在PHP环境中,你需要编写一个处理上传请求的PHP脚本。UEditor会将上传的文件通过POST请求发送到指定的URL。这个URL通常在UEditor的配置文件中设置,如`config.js`。你...

    ueditor的使用及常见问题

    2. **多媒体支持**:UEditor内置了上传图片、视频、文件的功能,用户可以直接在编辑器中完成资源的上传与管理。 3. **代码高亮**:对于程序员来说,UEditor支持代码块的插入,并且可以自动进行代码高亮,提高代码...

    【JAVA】UEditor使用示例工程.rar

    5. **文件管理**:UEditor上传的文件(如图片、附件)需要在服务器上有一个合理的存储和管理策略,Java开发者可能需要使用如Apache Commons IO、Spring Boot的文件上传支持等库来处理文件。 6. **安全考虑**:处理...

    .net项目百度文本编辑器以及图片上传问题

    当用户在编辑器中选择上传图片时,Ueditor会通过AJAX方式向服务器发送请求,服务器接收到请求后处理图片上传,并返回上传结果给编辑器。因此,.NET开发者需要实现一个接收图片上传请求的后端接口。 1. **配置...

    nodejs-UEditor:将 ueditor 与 node.js 结合使用的示例

    4. **处理上传请求**:在对应的路由处理器中,你可以读取并保存上传的图片,然后返回一个成功或失败的响应。这个响应会被UEditor解析,用来更新编辑器状态。 5. **返回URL**:UEditor需要知道上传图片的URL以便在...

    图文混排百度编辑器Java后台代码包

    在使用百度编辑器时,后台代码主要负责处理与前端交互的逻辑,例如接收上传的图片或文件,进行存储、权限验证,然后返回成功或失败的响应。这部分通常涉及的技术点有: 1. 文件上传处理:包括文件接收、合法性检查、...

    SpringBoot整合七牛云图片上传

    throw new RuntimeException("图片上传失败"); } } // 其他辅助方法,如生成随机字符串,获取文件扩展名等 } ``` 在这个例子中,`UploadPictureProperties`是一个自定义的配置类,用于读取`application.yml`中...

    yii上传文件或图片实例

    - yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法 - yii实现图片上传及缩略图生成的方法 - Yii结合CKEditor实现图片上传功能 - yii2利用自带UploadedFile实现上传图片的示例 - Yii+upload实现AJAX上传...

Global site tag (gtag.js) - Google Analytics