feizhoulv 发表于 2012-11-15 17:43:27

kindeditor 用 CI 的 上传函数 接受 无文件类型 问题。

用 kindeditor 批量图片上传时,遇到以下问题:

kindeditor 发给 服务器 的 数据如下:
------------Ij5ei4Ef1ei4ei4ae0cH2ei4ae0gL6Content-Disposition: form-data; name="Filename"青花瓷小.jpg------------Ij5ei4Ef1ei4ei4ae0cH2ei4ae0gL6Content-Disposition: form-data; name="imgFile"; filename="青花瓷小.jpg"Content-Type: application/octet-stream------------Ij5ei4Ef1ei4ei4ae0cH2ei4ae0gL6Content-Disposition: form-data; name="Upload"Submit Query------------Ij5ei4Ef1ei4ei4ae0cH2ei4ae0gL6--

而上传单个文件时 数据是这样的:

------WebKitFormBoundarySdeT3xemxCI3YwaDContent-Disposition: form-data; name="localUrl"C:\fakepath\青花瓷小.jpg------WebKitFormBoundarySdeT3xemxCI3YwaDContent-Disposition: form-data; name="imgFile"; filename="青花瓷小.jpg"Content-Type: image/jpeg------WebKitFormBoundarySdeT3xemxCI3YwaD--


问题是,CI 的Upload 这个类 里头需要判断文件类型:

// Is the file type allowed to be uploaded?if ( ! $this->is_allowed_filetype())

批量上传图片时的请求是: Content-Type: application/octet-stream

CI 获取不到 是哪一种类型啊。


请教解决方法。



曜日晨阳 发表于 2012-11-15 19:48:10

可以用kindeditor自带的upload_json做处理,没必要用CI的。

米修 发表于 2012-11-16 09:31:08

我也用的kindeditor自带的

lamtin 发表于 2012-11-17 00:16:48

https://github.com/EllisLab/CodeIgniter/wiki/SWFUpload

其实官方wiki一直都有说明,是你们不看而已。

ciogao 发表于 2012-11-18 10:06:22

需要打印file对象并添加资源类型

feizhoulv 发表于 2012-11-19 08:44:42

饿,俺是试了好几种方法,最后没办法看源码,最后发现改mime文件配置最好了。

// 但还是有点不太放心,因为修改了系统配置文件。

感谢 lamtin, 要是早点就好了,就不用看源码了。

yuvista 发表于 2012-11-19 09:34:04

本帖最后由 yuvista 于 2012-11-19 09:46 编辑

swfupload会更改上传文件的mimetype,将所有类型都变为application/octet-stream,使用finfo_file可以找到原始mime类型,不过需要你开启这个扩展。


另外,修改mime文件的方式不可取,因为那样不安全,楼主注意。

feizhoulv 发表于 2012-12-13 08:39:56

lamtin 发表于 2012-11-17 00:16 static/image/common/back.gif
https://github.com/EllisLab/CodeIgniter/wiki/SWFUpload

其实官方wiki一直都有说明,是你们不看而已。 ...

THX。。。
页: [1]
查看完整版本: kindeditor 用 CI 的 上传函数 接受 无文件类型 问题。