我正在尝试使用asp创建一个文件,提示用户提供文件名,然后它将运行Sub CreateFile_Click,这将创建新文件。新文件应与用户在提示中输入的名称相同。
由于某些原因我得到了
+System.IO.File.Create(filepath).Dispose()
{"Access to the path 'C:\futu.txt' is denied."}
System.UnauthorizedAccessException
<script language="VB" runat="server">
Sub CreateFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim strFileName As String = funcParam.Value
Dim filepath as String = "C:\futu.txt"
If Not System.IO.File.Exists(filepath) Then
System.IO.File.Create(filepath).Dispose()
End If
'custom code to create a text file
End Sub
</script>
<html>
<head>
<script language="JavaScript">
//ask for user input and then create file
function CreateFile() {
//get filename from the user
var fileName = prompt('Type the name of the file you want to create:', '');
//if the user clicks on OK and if they have entered something
if ((fileName) && (fileName != "")) {
//save the filename to the hidden form field 'funcParam'
document.forms['myForm'].elements['funcParam'].value = fileName;
//call the postback function with the right ID
__doPostBack('CreateFile', '');
}
}
</script>
</head>
<body>
<form runat="server" id="myForm">
<a href="javascript:CreateFile();">Create Text file</a>
<asp:linkbutton id="CreateFile" runat="server" onclick="CreateFile_Click" />
<input type="hidden" runat="server" id="funcParam">
</form>
</body>
</html>
答案 0 :(得分:0)
答案 1 :(得分:0)
您无法在C:\中创建文件,因为在实际情况下,您无法访问网站文件夹中的任何位置。
如果要创建文件,则需要在Web文件夹内创建。使用Server.MapPath()
将帮助您获得相对路径。
最佳做法可能是在您的网络文件夹中有一个名为LocalFile的文件夹,然后使用文件夹作为驱动器号,例如文件夹名为“C”或“D”,然后在其中创建子文件夹和文件。