2011-01-10 18:42:24nut

[技術]關於basp二三事

今天上海分公司的同仁打電話來說, 用我們的系統, 文件無法上傳上server.這個部分是用BASP這個元件所做的.
我試了一下, 恩 這份超過200k的文件真的無法上傳, 會顯示"要求物件 錯誤 'asp 0104 : 80004005' 不允許的操作" 錯誤訊息.
拜了一下google, 原來是web server的內定值被限制,只要依下列步驟修改,即可!

1.該檔案由於被 IIS 系統使用中請於 IIS 管理員中,於[本機電腦]上點右鍵選擇[內容]進入後,將[啟用直接編輯 metabase 檔案] 勾選即可變更metabase.xml檔案內容。

2. 以記事本開啟 C:\windows\sytem32\inetserv\metabase.xml
上傳限制:
找尋 AspMaxRequestEntityAllowed 字串
將 204800 (200K) 修改成你要的數字
下傳限制:
找尋 AspBufferingLimit 字串
預設 4MB ,將它修改成你要的數字

去server將設定值改正之後, 恩 錯誤碼不見了, 網頁卻出現"上傳失敗"錯誤訊息, 真是....
再找google, 發現一段程式碼可以查出問題.

.......................前略...............................
IF myerror=-1 THEN %>
檔案上傳失敗!<br><% =myfile_name %> 是空白檔案!
<% ELSEIF myerror=-2 THEN %>
檔案上傳失敗!<br>硬碟故障,請聯絡管理員修復硬碟!
<% ELSEIF myerror=-3 THEN %>
檔案上傳失敗!<br>無法新增檔案,可能磁碟機空間不足!
<% ELSEIF myerror=-4 THEN %>
檔案上傳失敗!<br><% =myfile_name %> 被禁止寫入硬碟!
<% ELSEIF myerror>=0 THEN %>
檔案上傳成功!<br>檔名已經修改為:<% =myauthor & "_" & myfile_name %><br>
檔案大小為:<% =myfile_size %>
<% END IF %>
.................................................................

依樣畫葫蘆去查了一下, 原來是上傳的資料夾沒有開權限, 將資料夾的權限開放成IUSER_SERVERNAME 帳號可以讀寫.

再測試一下, 成功!

資料來源:
Fuyun's Blog

ASP實例引導
春藥哪裡買 2020-01-11 03:28:00

讚~~~~!


http://www.yyj.tw/