文件在localhost上传,但在VB.Net中的Web服务器上发布后没有上传

时间:2016-09-26 03:53:51

标签: vb.net

我有文件上传代码。文件上传到本地主机,但发布后文件没有上传,也没有出现任何错误。

此外,我已将IIS设置中的文件夹(上传和docchange)更改为完全控制,但文件未上传。

If FileUpload1.HasFile Then
    Dim name As String = Path.GetFileName(FileUpload1.PostedFile.FileName)
    Dim location As String = Server.MapPath("~\upload\docchange\" & name)

1 个答案:

答案 0 :(得分:0)

您尚未在该代码中保存文件,另外使用'/'而不是'\'

Dim name As String = Path.GetFileName(FileUpload1.FileName)
Dim location As String = Server.MapPath("../upload/docchange")
FileUpload1.PostedFile.SaveAs(location & "/" & name)
' You can use FileUpload1.PostedFile.SaveAs(Path.Combine(location, name)) instead

当您在本地运行时,您将保存为Windows用户但在线则不是这样,您需要确保IUSR对该目录具有写入权限。是应用程序池LocalSystem还是NetworkService?确保它是LocalSystem。此外,如果发布的文件超过一定大小,则会出错。需要在web.config

中更改文件大小
<httpRuntime maxRequestLength="4096" etc.