如何通过http读取共享文件夹内容

lvxianda 2012-04-06 09:52:14
服务器为A机器,在局域网中有台文件服务器,只能通过http访问其下的共享文件夹FILE。文件夹内存放的为ftp文件。如何在客户端浏览这些ftp文件。
...全文
1133 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lvxianda 2012-04-06
  • 打赏
  • 举报
回复
有木有回复呀~
lvxianda 2012-04-06
  • 打赏
  • 举报
回复
我想用
System.IO.FileStream reader = System.IO.File.OpenRead("地址");
这个地址 直接写http不行。
而且是嵌套在页面里的。不可以直接访问url。
传递正能量 2012-04-06
  • 打赏
  • 举报
回复
iis虚拟目录的配置上,有一项是关于ip路径的配置,配置到任意机器上的任何位置,可以实现你要的效果
天齐贺少 2012-04-06
  • 打赏
  • 举报
回复
刚好我也在做这个东西
服务器A中发布web,文件服务器与A在同一局域网内。要求客户端下载文件服务器的文件
我想了N多方法,也试过很多种。都不行
刚好前2天想到了用虚拟路径,理论上这个能行。由于最近忙其他事,所以还没有实践。你先去试试,如果行的话回个帖。如果不知道怎么做加我QQ联系或直接百度“*******”
劼哥stone 2012-04-06
  • 打赏
  • 举报
回复
首先,你文件服务器的需要共享的文件,在IIS中设置成虚拟路径,或者直接在文件上设置Web共享。

下面代码就可以从对应的路径把文件下载过来了,例如url="http://192.168.1.125/file/123.doc"

public static void DownloadToFile(string url, string saveName, CookieContainer cookie)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
if (cookie != null)
request.CookieContainer = cookie;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

using (Stream dataStream = response.GetResponseStream())
{
using (FileStream fs = new FileStream(saveName, FileMode.Create, FileAccess.Write))
{
byte[] buffer = new byte[1024];
while (true)
{
int sizeRead = dataStream.Read(buffer, 0, buffer.Length);
if (sizeRead > 0)
fs.Write(buffer, 0, sizeRead);
else
break;
}
fs.Flush();
}
}
}
干巴猴儿 2012-04-06
  • 打赏
  • 举报
回复
思路参考。
在每个文件目录下建一个default.asp,
遍历目录下的文件和文件夹,输出到表格,创建文件链接。
(如果你想让某种类型文件不输出到表格,写个判断语句就可以了)

<%
dim fso
set fso=Server.CreateObject("Scripting.FileSystemObject")
Dim fold
Set fold = fso.GetFolder(Server.MapPath("."))
Dim f
response.Write("<table>")
response.Write("<tr><td>文件名</td><td>日期</td></tr>")
For Each f In fold.Files

response.write "<tr>"
response.write "<td>"
response.write "<a href='" & f.Name & "'>" & f.Name & "</a>"
response.write "</td>"

response.write "<td>"
response.write f.DateLastModified
response.write "</td>"
response.write "</tr>"
Next
response.write "</table>"
%>

这是我做的一个asp文件,列出某个虚拟目录下的所有文件,供下载。
可以借鉴这个,写一个aspx版本的。
SomethingJack 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

http是不行的。必须用ftp或者windows network share。
[/Quote]
哦- -
threenewbee 2012-04-06
  • 打赏
  • 举报
回复
http是不行的。必须用ftp或者windows network share。
xuan.ye 2012-04-06
  • 打赏
  • 举报
回复
你用iframe 的src 指向 ftp路径,这个方式不知道行不行

但是ftp肯定要开访问权限的
lvxianda 2012-04-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
刚好我也在做这个东西
服务器A中发布web,文件服务器与A在同一局域网内。要求客户端下载文件服务器的文件
我想了N多方法,也试过很多种。都不行
刚好前2天想到了用虚拟路径,理论上这个能行。由于最近忙其他事,所以还没有实践。你先去试试,如果行的话回个帖。如果不知道怎么做加我QQ联系或直接百度“*******”
[/Quote]
局域网内的快个共享文件夹。 直接//192.168.0.2/文件名 就可以了。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧