我们有一个 .Net 应用程序,我们有三个完全相同的副本。一个用于我们的服务器上的开发,一个测试和一个在我们客户的服务器上运行。我们必须在服务器上创建 pdf 文件,并将它们保存在指定的文件夹中。它在开发和测试应用程序上运行良好,但不能在现场运行。当它应该保存文件时,它会向上跳转一个文件夹。
我用 server.mappath 玩了一段时间,得到了以下信息:在实时应用程序中,如果相对路径包含“。”以外的内容。或“..”,然后它再上一层(路径不包含“LiveApplication”文件夹),但它适用于其他文件夹。
你对此有什么想法吗?谢谢
直播应用:
xFileSystemDir:
../FileSpace/
Server.Mappath(xFileSystemDir):
C:\AppDir\FileSpace\
Server.Mappath("..\FileSpace"):
C:\AppDir\FileSpace
Server.Mappath("../FileSpace"):
C:\AppDir\FileSpace
Server.Mappath(xFileSystemDir & "Temp/" & xDir & "/" & PDFFileName):
C:\AppDir\FileSpace\Temp\PDF20130517-143114\Invoice.pdf
Server.Mappath(".")
C:\AppDir\LiveApplication\Script
Server.Mappath(".."):
C:\AppDir\LiveApplication
测试应用:
xFileSystemDir:
../FileSpace/
Server.Mappath(xFileSystemDir):
C:\AppDir\TestApplication\FileSpace\
Server.Mappath("..\FileSpace"):
C:\AppDir\TestApplication\FileSpace
Server.Mappath("../FileSpace"):
C:\AppDir\TestApplication\FileSpace
Server.Mappath(xFileSystemDir & "Temp/" & xDir & "/" & PDFFileName):
C:\AppDir\TestApplication\FileSpace\Temp\PDF20130517-143442\Invoice.pdf
Server.Mappath(".")
C:\AppDir\TestApplication\Script
Server.Mappath(".."):
C:\AppDir\TestApplication
客户端服务器上的物理文件夹树:
c:\
AppDir\
TestApplication\
FileSpace\
Temp\ - here goes the new files
LiveApplication
FileSpace\
Temp\ - the new files should be created here
FileSpace\ - this folder should not exists, but the live app creates the new files here
Temp\