我正在尝试保存使用HttpPostedFile控件上传的文件。
我遇到的主要问题是,它不会为该文件创建新文件夹。
在下面的代码中,“文件”是HttpPostedFile。
所以我有这样定义的基本路径:
Dim basePath = "D:\\game\\world\\map\\MediaFiles\\"
然后我得到这样的文件名:
Dim fileName = Path.GetFileName(file.FileName)
现在,我想使用gameId(guid)创建这样的新路径:
Dim newFolderAndFile As String = gameId + fileName
然后将路径与基本路径合并并保存:
Dim saveAsPath = Path.Combine(basePath, newFolderAndFile)
file.SaveAs(saveAsPath)
但是当我尝试这样做时,我总是会收到这样的错误:
System.IO.DirectoryNotFoundException:无法找到 路径 'D:\ game \ world \ map \ MediaFiles \ 05a10e9c-e8a9-49ed-ad4f-34b6b4650ef3 \ 5.jpg'
因此,看来 saveAsPath 的构建正确,但是 SaveAs 未保存它。
如何获取SaveAs来创建路径和文件?
谢谢!
答案 0 :(得分:1)
如the_lotus所述,您需要先创建目录,然后再保存文件
Dim basePath = "D:\game\world\map\MediaFiles\"
Dim fileName = Path.GetFileName(file.FileName)
' make new folder
system.io.direcotry.createdirectory(basepath & gameid)
Dim saveAsPath = (basePath & gameid & "\" & filename)
file.SaveAs(saveAsPath)
我不确定双斜杠,我认为这不是必需的...