點解我用ASP改吾到server上的檔案名稱

2011-12-07 5:21 pm
我想upload個file上網,然後改名, 但是發生錯誤,如下:
Microsoft VBScript 執行階段錯誤- Error '800a0046' 沒有使用權限 /upload.asp, line 55


Why? 我check過user有執行權, File upload左上去,但是改吾到名....

-----------------------------------------------------------------------------------------------

strTargetPath = server.mappath("/img") ' 伺服器的目的資料夾
strFile = request.querystring("id")set fs=server.createobject("Scripting.FileSystemObject")
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then ' 建立物件
Set objUpload = GetUpload()
strMessage =""
If Err = 0 Then



For Each objField In objUpload.Items
strFileName = ""
If objField.FileName <> "" Then
strFileName = objField.FileName
' 儲存檔案的內容
objField.Value.SaveAs strTargetPath & "/" & strFileName

source = server.mappath("/img/"& strFilename)
target = server.mappath("/img/"& strFile)

fs.moveFile source, target



End If

Next

response.redirect "member_index.asp"
strFile = ""

else

strMessage = strMessage &"<br>發生錯誤:"& Err.Description

End if

回答 (2)

2011-12-20 1:56 pm
✔ 最佳答案
我check過user有執行權

ASP 的 user 不是你自己,也不是使用者,ASP 的 user 是 IIS (internet information server). 一般情況 IIS user account 是 IUSR_machinename. 如果 server 名稱是 MyServer,IIS user account 是IUSR_MyServer.

檢查 IIS user account 是否有權限更改伺服器的 img 資料夾。

2011-12-20 06:55:36 補充:
fs.moveFile source, target 這指令是改檔名,

objField.Value.SaveAs strTargetPath & "/" & strFileName
改成
objField.Value.SaveAs strTargetPath & "/" & strFile
upload, 改名一次做晒,無需用 MoveFile
2011-12-10 12:33 am
你 Server Folder /img 有打开权限吗 ? file Rename 的权限!

你 的ASP code 只看到你做 upload,如果你upload 成功又如何要改名 ?
你 的ASP code 没写。


收錄日期: 2021-04-11 18:52:40
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20111207000051KK00127

檢視 Wayback Machine 備份