使用Kindeditor的多文件(图片)上传时出现上传失败的解决办法/使用Flash上传多文件(图片)上传时上传失败的解决办法

20 篇文章 0 订阅
10 篇文章 0 订阅

近来用户反映希望我们把在线编辑器中的多图片上传功能实现,因为他们在编辑商品描述时经常会有一次上传多张图片的需求,如果要逐张选择的话效率很低,客户的需求就是我们的追求,很快我们就把完善功能排到了日程表中,要求尽快实现。

我们在项目中使用的在线编辑器是Kindeditor4.1.10,它们的多文件上传插件是使用Flash实现的,原本应该就是能使用的,但为什么老是显示上传失败的,百度了一下前人的经验和教训,出现这种情况,有两种可能:1)上传的目标文件夹没有写权限,导致上传的文件无法进行写操作,所以上传失败;2)有做权限验证的系统,因为利用Flash上传时,由于在上传时Flash插件没有把SessionId带过去,引起session丢失导致上传失败。

我们在做单张与多张上传的目标路径是在同一个母文件夹下的,所以不会是第一种情况引起的,那就唯有是第二种情况了,基于这样的判断,那就要在Flash上传的时候手动加上sessionId参数和值,到服务端的时候再接收下来应用到Session中,这样应该就能解决问题了,事实证明,这样的思路是正确的,下面的具体操作的方法。

打开/kindeditor/plugins/multiimage/multiimage.js,找到postParams这个配置项,把原配置postParams :  K.undef(self.extraFileUploadParams, {}),改为postParams :  $.extend(K.undef(self.extraFileUploadParams, {}), {"__JentianYunSessionID": jt.cookie('__JentianYunSessionID')}),上面的__JentianYunSessionID应该替换成你们的sessionIdname属性,这样,就能在Flash上传文件时把你们的SessionId带到服务端页面了,然后再要处理上传文件的页面的开头加上

$session =\tools\Tools::allChar('__JentianYunSessionID');

if($session){//重新设置cookie,解决使用Flash上传图片时cookie丢失的问题

session_id($session);

session_start();

}

这样,kindeditor/Flash实现多文件(图片)上传就能成功了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值