asp分塊讀取解決ueditor 上傳檔案200K限制問題
阿新 • • 發佈:2021-07-13
雖說現在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報錯的問題。
我不是高手,我只是有點思想的程式碼搬動工。