昨天发 blog 的时候就发现,在 IE 10 下上传附件之后,附件无法关联到帖子。经过一夜 + 一下午的 debug,终于找到问题。
问题出在 swfupload 的 handler jquery 上。在上传附件之后,handler 会自动将相对应的行设置为 disabled。当 IE 提交表单的时候,自动忽略了这个 disabled 行,也就忽略了 attachids 这个数据组。
解决办法,打开 include/swfupload/handlers.js,找到下面的行(一共两个),注释掉。
$("#tag_" + file.index).attr("disabled", true);
另外,如果服务器端 php 版本很高(我的是 5.3),在上传完附件,插入文章的时候,会出现 mime 错误提示。
解决方法:打开 admin/uploadfiles.php,找到下面的行,注释掉。
$attach['type'] = mime_content_type($attach['name']);
找到下面的行
$attachment = upfile($attach['tmp_name'], $path);
在后面加上
$attach['type'] = mime_content_type($path);
搞定!