asp.net 创建文件夹时出错:未找到路径“D:\”的一部分。(asp.net 使用 FSO)
2006-12-06 09:51
513 查看
这些天在整一个博客程序,其中的相册功能自然就用到IO.Directory和IO.DirectoryInfo对象,这两个对象会遍历网站所在的硬盘的磁盘根目录,不巧的是,博客传到购买的虚拟主机空间后,相册功能不能正常使用,现象是:向一个存在的文件夹上传文件可以成功,但是不能使用程序创建文件夹。
经查询得知,是因为一般虚拟服务商没有给磁盘根目录开启service用户读取权限,所以在操作文件夹的时候,使用IO下的这两个类会出现如下错误:
未找到路径“D:\”的一部分。
D盘就是服务器上磁盘路径,可能会因为服务器的不同而不同,后来向空间商询问,说是.Net只给读取权限,不给写入权限的(迷惑~),但服务器支持FSO的。于是只好改程序了,我们知道在asp中可以使用fso创建文件夹和操作文件,于是想到用asp.net调用window中得fso组件。经测试可行:
1.先引用:
项目->引用->浏览->COM组件->Microsoft Scripting Runtime
2.代码中写:
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)
编译后,在bin目录下多了一个Interop.Scripting.dll文件,把这个文件连同全站发布重新上传,OK了。
经查询得知,是因为一般虚拟服务商没有给磁盘根目录开启service用户读取权限,所以在操作文件夹的时候,使用IO下的这两个类会出现如下错误:
未找到路径“D:\”的一部分。
D盘就是服务器上磁盘路径,可能会因为服务器的不同而不同,后来向空间商询问,说是.Net只给读取权限,不给写入权限的(迷惑~),但服务器支持FSO的。于是只好改程序了,我们知道在asp中可以使用fso创建文件夹和操作文件,于是想到用asp.net调用window中得fso组件。经测试可行:
1.先引用:
项目->引用->浏览->COM组件->Microsoft Scripting Runtime
2.代码中写:
Scripting.FileSystemObject fso=new Scripting.FileSystemObjectClass();
fso.CreateFolder(Path)
编译后,在bin目录下多了一个Interop.Scripting.dll文件,把这个文件连同全站发布重新上传,OK了。
相关文章推荐
- asp.net创建文件夹出错的解决方案[转]
- asp.net上传文件使用file控件,判断文件大小,取得文件路径时报错【System.IO.FileNotFoundException:未能找到文件】的解决办法
- 在ASP中自动创建多级文件夹的函数(使用FSO)
- asp.net访问本机站点时未找到路径“D”的一部分 的问题解决
- asp.net创建文件夹出错的解决方案[转]
- 在ASP中自动创建多级文件夹的函数(使用FSO)
- 使用ASP和ASP.NET来创建文件夹和文件。
- asp.net中使用js找到后台该别IFRAME标签的网页的文件路径及名字
- asp.net 上传文件 未能找到路径的一部分
- asp.net上传文件使用fileupload控件,判断文件类型和大小,取得文件路径时报错【System.IO.FileNotFoundException:未能找到文件】的解决办法
- ASP.NET/C#向项目- 创建控件时出错,无法找到web项目项
- 删除everyone对c:的 访问权限后,运行asp.net出现DirectoryNotFoundException未找到路径“C:\”的一部分
- VS.NET 2003创建ASP.NET程序出错
- 使用Web Part创建个性化的ASP.NET 2.0应用程序
- 终于找到了在asp.net使用popcalendar.js 日历时候提示出现"缺少对象“的解决办法。
- asp.net mvc视图中使用entitySet类型数据时提示出错
- 使用JScript.NET创建asp.net页面(三)
- 使用 Visual C# .NET 在 ASP.NET 中创建自定义错误报告
- 使用等待句柄创建 ASP.NET 应用程序
- 使用JScript.NET创建asp.net页面(一)