1. 程式人生 > 其它 >asp分塊讀取解決ueditor 上傳檔案200K限制問題

asp分塊讀取解決ueditor 上傳檔案200K限制問題

雖說現在asp技術已然明白黃花,自己也用的asp.net上傳元件,但老的iis和老的程式遺留問題,asp技術還是小強般頑強的生存著,在這未淘汰的程式上用上百度的ueditor線上編輯器,能更好的相容使用新技術的瀏覽器。

在iis上預設是有200k上傳限制的,如果圖片大於200k(程式報錯:沒有許可權操作),在asp版的ueditor上是無法上傳成功的,為了解決這個問題,又想到了神一般的上傳元件無懼上傳,它能把上傳獲取的資料分成64k一塊來寫入伺服器,想到全部改寫ueditor的上傳元件有點耗時還麻煩,那就改進它吧,開啟:

ueditor\asp\uploader.class.asp,定位到424行附近(或者搜尋 Request.BinaryRead ):


formBytes= Request.BinaryRead( Request.TotalBytes )處,把這三行:

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

註釋掉,或刪除,在前面插入:

 '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報錯的問題。
我不是高手,我只是有點思想的程式碼搬動工。