我正在尝试上传文件而无法让它工作。我有网站和子文件夹的正确网址。我也尝试了fileUploader.FileName
和fileUploader.SaveAs
。似乎没有工作。它不在UpdatePanel
中。有什么想法吗?
代码背后:
Protected Sub uploader_click(sender As Object, e As EventArgs) Handles btnUpload.Click
If fileUploader.HasFile Then
Dim _path As String = Path.Combine("{path to site and folder}", Server.HtmlEncode(fileUploader.PostedFile.FileName))
Try
fileUploader.PostedFile.SaveAs(_path)
Catch ex As Exception
Response.Write(ex.ToString)
End Try
Else
Response.Write("No File")
End If
End Sub
新代码,我需要获取父文件夹来公开子文件夹:
Dim filePath = Path.GetFileName(fileUploader.PostedFile.FileName)
Dim _path As String = Path.Combine(Server.MapPath("~"), "subfolder", filePath)
_path
= \\{server blah}\{site}\webroot
现在没有错误,但没有上传文件???
答案 0 :(得分:0)
如果您在托管服务提供商上,则必须设置文件权限。如果您使用共享主机,那么可以选择执行此操作。如果您有权访问IIS,那么您可以自己动手。
答案 1 :(得分:0)
像这样修改你的第三行
Dim _path As String = Path.Combine(Server.MapPath("{Relative url of your folder within your project}"), Server.HtmlEncode(fileUploader.PostedFile.FileName))
相对URL应该是这样的:
"~/folder/Folder2//"
答案 2 :(得分:0)
它终于奏效了,必须在发布和使用新文件之间延迟 - 基于云。这条道路正如预期的那样运作。
If fileUploader.HasFile Then
Dim filePath = Path.GetFileName(fileUploader.PostedFile.FileName)
Dim _path As String = Path.Combine(Directory.GetParent(Server.MapPath("~")).FullName, "subfolder", filePath)
Try
fileUploader.PostedFile.SaveAs(_path)
Catch ex As Exception
lb.Text = ex.Message
End Try
Else
lb.Text = "No File!"
End If
感谢大家的帮助。