公司有些内部资料放在ftp上面,这些属于共享文档.现在想在.net web版本的系统上直接打开ftp文件夹,就像打开本地文件夹一样
本人写了一段代码,思路大致是这样的:通过调用"explorer ftp://...."这样的方式来打开ftp服务器,由于要操作CMD命令,本地运行时是没问题的,但是代码放在服务器上就不行了,请教各位有什么好的解决方法?
又或者不用cmd的方法打开ftp?
真心求教
代码原型是这样的:
static void Main(string[] args) { Process p = new Process(); p.StartInfo.FileName = "cmd.exe"; p.StartInfo.UseShellExecute = false; p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectStandardOutput = true; p.StartInfo.RedirectStandardError = true; p.StartInfo.CreateNoWindow = true; p.Start(); string strOutput = null; p.StandardInput.WriteLine(string.Format("explorer ftp://xxx.xx.xx.xx/xx/xx",200)); p.StandardInput.WriteLine("exit"); strOutput = p.StandardOutput.ReadToEnd(); Console.WriteLine(strOutput); p.WaitForExit(); p.Close(); }
但是发布到服务器上面就不行了,查了一下资料说是没有权限.请问各位有什么好的解决方法么
意思是要js操作ftp?
没有 我是直接在后台代码里面写的,只是通过一个链接触发一个控制器方法,调用cmd命令的代码就写在方法里面.与页面无关
@OSManager: 别这么搞.你直接用ftp客户端就可以在代码里直接操作ftp了.不用这样调用cmd.
如果应邀调用那就给iis工作进程管理员权限.应该是可以的.
@吴瑞祥: 谢谢
没明白什么意思,FTP不是也有相关的操作的代码么?
问题已经更新
@OSManager: 服务器上没有什么cmd的权限吧,服务器的权限一般比较低。。。而且,你这太扯淡了啊,你服务器上打开一个浏览器窗口,谁能看见啊???
@顾晓北: 不是我扯淡,是你没明白我说的意思
@OSManager: 没看到上面的代码,原来是用cmd打开,然后读取返回的结果,却是是权限问题,但“扯淡”的评论我并不收回,因为操作ftp不是想着找ftp相关的代码,却这么来写程序,说好听点叫“剑走偏锋”,说难听点就是“扯淡”。。。随便搜一下,就有类似ftpwebrequest,ftpclient类似的东西。。。
这还用写代码...创建个快捷方式不就完了~。既然内网要方便就匿名,一切搞定。
最差也就一个cmd或者bat就搞定,只需一行。