使用VS 2015和ASP.net/VB。
在我的桌面上,我正在构建一个保存在远程服务器(开发服务器)上的Web应用程序。如果我使用VS运行网站,那么一切正常。
我想向用户演示Web应用程序,我在页面上遇到图像问题。我确信我有一些容易的东西,但是我无法在线找到解决方案。当我演示它时,我使用一个URL到服务器(http://DevelopmentServer/myName/website1/default.aspx),就像我在我的PC上运行它的localhost等。
在页面中,我有一个上传文件控件,用户可以使用它来上传图像。完成后,图像将显示在屏幕上。我遇到的问题是文件路径。要上传图像,我使用以下代码。
extended_bounds.max
使用网址时,上述工作正常 - http://DevelopmentServer/myName/website1/default.aspx
当我想使用以下代码显示图像时会出现问题:
Protected Sub upLoadFile(sender As Object, e As EventArgs)
Dim fileExt As String = Path.GetExtension(chartUpload.PostedFile.FileName)
Dim folderPath As String = "\\developmentServer\website1\charts\"
Dim fileName As String = "Chart_" & Date.Now.ToString("ddMMyyyy")
Dim updatedFilename As String = fileName & fileExt
chartUpload.SaveAs(Path.Combine(folderPath & updatedFilename))
displayCurrentChart()
End Sub
我只是得到一个黑色十字架。我确信它与我使用的路径有关,因为显然用户没有D驱动器,但如果我使用UNC路径
它也不起作用 Private Sub displayCurrentChart()
Dim chartName As String = "Chart_" & Date.Now.ToString("ddMMyyyy") & ".jpg"
Dim folderPath As String = "D:\Developement\Website1\charts\"
Dim fullFilePath As String = folderPath & chartName
chartImage.Visible = False
If My.Computer.FileSystem.FileExists(fullFilePath) Then
chartImage.ImageUrl = fullFilePath
chartImage.Visible = True
Else
'do nothing
End If
End Sub
。
有什么建议吗?
答案 0 :(得分:0)
您的代码可能会导致问题的一些问题/建议:
Path.Combine(folderPath & updatedFilename)
应为Path.Combine(folderPath, updatedFilename)
Server.MapPath("/charts")
位于您的网络应用程序的根目录中,则/charts
我建议您在这些方法中设置断点,以查看调试应用程序时的实际路径。然后检查图像是否存在于该路径中。