ahe*_*ang 8 .net asp.net file-io
我想使用以下代码将.xml文件写入App_Data/posts.为什么会导致错误?
Stream writer = new FileStream("..'\'App_Data'\'posts'\'" + new Guid(post_ID.ToString()).ToString() + ".xml", FileMode.Create);
Run Code Online (Sandbox Code Playgroud)
dri*_*iis 20
请发布您获得的例外情况; 不只是"它不起作用" - 这可能是各种各样的问题.以下是一些要检查的事项:
检查ASP.NET进程是否具有该目录的写访问权.
此外,看起来你正在逃避路径中的退格错误.在使用ASP.NET时,您的路径应该相对于应用程序根目录.试试这个:
string path = HttpContext.Current.Server.MapPath("~/App_Data/posts/" + new Guid(post_ID.ToString()).ToString() + ".xml"
Stream writer = new FileStream(path, FileMode.Create);
Run Code Online (Sandbox Code Playgroud)
最后,确保posts目录存在 - 否则文件创建将失败.
删除无关的单引号并正确地逃避反斜杠.
甚至更好,使用Server.MapPath(在Page和UserControl基类以及HttpContext等中可用).
Server.MapPath("~/App_Data/posts/" + new Guid(post_ID.ToString()).ToString() + ".xml")
Run Code Online (Sandbox Code Playgroud)
出于好奇,post_ID的类型是什么?为什么要将它转换为字符串,然后转换为guid,然后再转换为字符串?
| 归档时间: |
|
| 查看次数: |
16859 次 |
| 最近记录: |