• 加入收藏  设为首页
laoy cms

asp版百度ueditor在线编辑器上传图片大于200k问题修复

时间:2022/11/18 15:26:41   作者:未知   来源:网络收集   阅读:0   评论:0
内容摘要:虽说现在asp技术已然明日黄花,自己也用的asp.net上传组件,但老的iis和老的程序遗留问题,asp技术还是小强般顽强的生存着,在这未淘汰的程序上用上百度的ueditor在线编辑器,能更好的兼容使用新技术的浏览器。在iis上默认是有200k上传限制的,如果图片大于200k(程序报错:没有权限操作),在asp版的ue...
    虽说现在asp技术已然明日黄花,自己也用的asp.net上传组件,但老的iis和老的程序遗留问题,asp技术还是小强般顽强的生存着,在这未淘汰的程序上用上百度的ueditor在线编辑器,能更好的兼容使用新技术的浏览器。

    在iis上默认是有200k上传限制的,如果图片大于200k(程序报错:没有权限操作),在asp版的ueditor上是无法上传成功的,为了解决这个问题,又想到了神一般的上传组件无惧上传,它能把上传获取的数据分成64k一块来写入服务器,想到全部改写ueditor的上传组件有点耗时还麻烦,那就改进它吧,打开:

ueditor\asp\MultiformProcessor.class.asp,定位到70行:
formBytes = Request.BinaryRead( Request.TotalBytes )处,把这三行: 


 'formBytes = Request.BinaryRead( Request.TotalBytes )
 'Set stream = OpenStream( adTypeBinary )
 'stream.Write formBytes

注释掉,或删除,在前面插入:

         Set stream = OpenStream( adTypeBinary )       
         '循环分块读取
        dim ReadBytes,nTotalBytes
         ReadBytes = 0
         nTotalBytes = Request.TotalBytes
         Do While ReadBytes < nTotalBytes
         '分块读取
            nPartBytes = 64 * 1024 '分成每块64k
             If nPartBytes + ReadBytes > nTotalBytes Then
                 nPartBytes = nTotalBytes - ReadBytes
             End If
             stream.Write Request.BinaryRead(nPartBytes)
             ReadBytes = ReadBytes + nPartBytes
         Loop      
         stream.Position = 0
         formBytes = stream.Read

    即可解决asp版ueditor上传iis服务器默认200k报错的问题。
我不是高手,我只是有点思想的代码搬动工。

    附:当然,可以改iis服务器配置文件的话,也能解决上传大于200k文件的问题,以下内容复制网上:
    先在服务里关闭iis admin service服务(运行里输入 iisreset /stop),找到windows\system32\inesrv\下的metabase.xml, 打开,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K,如把它修改为51200000(50M)。
    然后重启iis admin service服务。(运行里输入 iisreset /restart)

标签:百度 在线 编辑 编辑器 上传 
相关评论

Powered by www.xxpw.top @ 2019-2031 星星派屋 All Rights Reserved .
本站服务器及带宽由 江苏三欧网络信息技术 友情赞助.  友情链接交换联系QQ:317261118
如果有任何侵权问题,请联系QQ:317261118,我们会在72小时以内处理.