这些天在整一个博客程序,其中的相册功能自然就用到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了。

相关文章:

  • 2022-03-03
  • 2021-09-07
  • 2022-01-14
  • 2022-12-23
  • 2022-12-23
  • 2021-11-22
  • 2022-12-23
  • 2022-02-21
猜你喜欢
  • 2022-02-24
  • 2021-09-01
  • 2022-12-23
  • 2021-07-06
  • 2021-09-02
相关资源
相似解决方案