是的,我使用的是 Classic ASP,而不是选择我支持 Legacy 应用程序。目标:我需要一个表单页面提交到另一个.asp页面,该页面将上传文件并将其存储在服务器上的某个目录中,例如“/uploads”。我对asp或asp.net并不熟悉,所以我对此很陌生。我创建了一个测试原型:
表格页面:
<!DOCTYPE html>
<head>
<title>Test upload</title>
</head>
<body>
<form action="process.asp" method="post" enctype="multipart/form-data">
<p>Filename: <input type="text" name="filename" size="50" /></p>
<p><input type="file" name="file" /><input type="submit" value="Upload file" /></p>
</form>
</body>
</html>
处理页面:
<%
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Set tfolder = fs.GetSpecialFolder(2)
tname = fs.GetTempName
'Declare variables
Dim fileSize
Dim filename
Dim file
Dim fileType
Dim p
Dim newPath
'Assign variables
fileSize = Request.TotalBytes
fileName = Request.form("filename")
file = request.form("file")
fileType = fs.GetExtensionName(file)
fileOldPath = tfolder
newPath = Server.MapPath("/uploads/")
fs.MoveFile fileOrigPath, newPath
set fs = nothing
%>
问题是每次我尝试上传或运行脚本时都会收到此错误:
Microsoft VBScript runtime error '800a0035'
File not found
/tbird/fileUpload/process.asp, line 25
显然我没有正确映射到文件,我认为我卡住的主要原因是在MoveFile
方法的第一个参数中我没有正确映射到文件。谁能告诉我应该如何引用该文件,或者我是否做错了?
提前感谢我非常感谢我搜索过的所有帮助,我发现与经典 asp 和上传文件相关的所有内容都是您可以购买的课程,我不想这样做。