作者Peruheru (还在想)
看板C_Sharp
标题[问题] 在.NET MVC的控制器中操作网芳分享资料夹
时间Tue Jun 20 20:17:54 2017
在.NET MVC(C#)中,想存取网芳资料夹的内容
资料夹已在IIS作为网站根目录下的一个应用程式挂上
(使用虚拟目录问题更多後述)
然後该资料夹有自己的存取帐号,这也有写在应用程式的存取帐号中
假如在网址直接填该虚拟目录的位置,可以显示照片
为了检查当案是否存在而写在控制器中的File.Exists()方法却只会回传否
挂上网芳目录前使用本机资料夹测试功能是正确的,所以猜想是权限或IIS设定要调整
只是一直没试到正确的方法
请问有没有人能不吝分享设定与存取网芳档案的经验作为参考呢?
谢谢!
不知为何用虚拟目录来挂的话,就会连在浏览器输入相对位置也看不到图片
什麽都不改直接转换成应用程式後,浏览器就看的到了怪怪
不过File.Exists()两边都一样侦测不了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.45.202.49
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1497961077.A.8C9.html
1F:→ awwseed: 你检查档案是否存在给的路径,是绝对还是相对路径? 06/21 13:15
2F:→ awwseed: Server.MapPath("/虚拟目录") 这样试看看? 06/21 13:20
3F:→ awwseed: 之前实作 FileServer 挂虚拟目录存取用上面方法可行 06/21 13:21
4F:→ awwseed: 至於权限的话,你可以尝试虚拟目录用"特定使用者"登入? 06/21 13:21
5F:→ awwseed: 如果当前取不到 Server.MapPath的话,可以改用 06/21 13:24
我是使用Server.MapPath("~/Uploads/pic/123.jpg")这种语法
回传值是像 \\FileServer\pic\123.jpg 这样的结果,以绝对路径来说这样应该对吧...
我确定档案存在,因为网页上相对路径就能看到图片
在C底下建一个资料夹然後权限设的跟网芳的一样(也有设使用者帐号密码)
然後在IIS上用一样的方法挂上後 File.Exists() 可以发挥作用侦测到档案存在
一模一样的设定改挂到网芳就失效了,苦恼
※ 编辑: Peruheru (220.134.18.8), 06/21/2017 17:20:26
7F:→ awwseed: 那你试看看能不能写入档案到网芳资料夹 06/21 18:11
8F:→ awwseed: 有可能是iis读网芳图片跟你File.Exists() 的身分不同(?) 06/21 18:13
写不进去,或许真的是权限不相同
我有参考鸟哥文章在Web.config内的system.web区段加上下面这行叙述:
<identity impersonate="true" password="xxxx" userName="oooo" />
结果好像没什麽差别,这跟网站是另一个站台底下的应用程式这点有关吗?
※ 编辑: Peruheru (220.134.18.8), 06/23/2017 13:14:30
结果我那行打错字了,修正就可以上传了,检查存在也生效了,感谢帮助!!
※ 编辑: Peruheru (220.134.18.8), 06/23/2017 13:39:05