如何接收HTTP协议POST过来的文件?

木老师 2017-06-04 11:41:36
以下是通过HTTP协议在不同服务器之间传输文件的描述,如何编写发送和接收HTTP协议POST过来的文件?求大神帮忙。要求ASP或ASP.NET或C#或delphi源码。其他的源码我也不懂。分数全来了,就这么多了!

假设发送服务器URL为:http://192.168.3.100:8777/mydata/embtar/, 端口:8777.


接收服务器的URL为:http://192.168.3.81:8080/tardata/myemb/, 端口:8080.[/size]


...全文
2527 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
木老师 2017-06-10
  • 打赏
  • 举报
回复
以下是我实现的接收HTTP协议POST文件的完整代码。
<%@ Page language="c#" AutoEventWireup="false"  %> 
<%
string names = "dd";
string spath = Server.MapPath("/"+names);
string SaveFilePath ="";
string[] sfpath =new string[12];
int rq = Request.Files.Count;

if (System.IO.Directory.Exists(spath) == false)
{
System.IO.DirectoryInfo dirinfo = System.IO.Directory.CreateDirectory(spath);
}
int i=0;
for (i=0; i<=rq-1; i++ ) {
    HttpPostedFile postfile1=Request.Files[i];
    string filepath= postfile1.FileName;
	string filename =  filepath.Substring(filepath.LastIndexOf("\\")+1);
	sfpath[i] = "/"+names+"/"+filename;
    SaveFilePath = Server.MapPath(sfpath[i]);   
    postfile1.SaveAs(SaveFilePath);
	Response.Write(filename+ "上传成功!\r\n");    
}
Response.Write(rq + "个文件上传成功!\r\n");
 Response.End();
%>
木老师 2017-06-10
  • 打赏
  • 举报
回复
引用 9 楼 wangjun8868 的回复:
[quote=引用 7 楼 netedao 的回复:] [quote=引用 1 楼 wangjun8868 的回复:]

HttpFileCollection files = Request.Files;
            string filePath = Server.MapPath("~/UploadFiles/");
            if (files.Count != 0)
            {
                string fileName = files[0].FileName;
                files[0].SaveAs(Path.Combine(filePath, fileName));
                Response.Write("<p>上传成功</p>");
            }
            else
            {
                Response.Write("<p>未获取到Files:"+ files.Count.ToString()+"</p>");
            }
你这个不行呀,有没有更好的办法?[/quote] 怎么不行?错在哪?[/quote] HttpFileCollection 改成httpPostedfile可以了。谢 谢。
编程有钱人了 2017-06-09
  • 打赏
  • 举报
回复
引用 7 楼 netedao 的回复:
[quote=引用 1 楼 wangjun8868 的回复:]

HttpFileCollection files = Request.Files;
            string filePath = Server.MapPath("~/UploadFiles/");
            if (files.Count != 0)
            {
                string fileName = files[0].FileName;
                files[0].SaveAs(Path.Combine(filePath, fileName));
                Response.Write("<p>上传成功</p>");
            }
            else
            {
                Response.Write("<p>未获取到Files:"+ files.Count.ToString()+"</p>");
            }
你这个不行呀,有没有更好的办法?[/quote] 怎么不行?错在哪?
木老师 2017-06-06
  • 打赏
  • 举报
回复
引用 5 楼 zhujinqiang 的回复:
参考: http://blog.csdn.net/yefengmeander/article/details/8441302
这篇文章我有看到过。对发送文件上传到服务器是很有帮助的,但对于不同服务器之间如何传,如何收,还是不太明白。谢谢!
木老师 2017-06-06
  • 打赏
  • 举报
回复
引用 1 楼 wangjun8868 的回复:

HttpFileCollection files = Request.Files;
            string filePath = Server.MapPath("~/UploadFiles/");
            if (files.Count != 0)
            {
                string fileName = files[0].FileName;
                files[0].SaveAs(Path.Combine(filePath, fileName));
                Response.Write("<p>上传成功</p>");
            }
            else
            {
                Response.Write("<p>未获取到Files:"+ files.Count.ToString()+"</p>");
            }
你这个不行呀,有没有更好的办法?
木老师 2017-06-05
  • 打赏
  • 举报
回复
引用 2 楼 happybebe 的回复:
你这不就是类似ftp的功能?文件上传,然后另一台服务器读取不就行了?
不是的。
木老师 2017-06-05
  • 打赏
  • 举报
回复
引用 1 楼 wangjun8868 的回复:

HttpFileCollection files = Request.Files;
            string filePath = Server.MapPath("~/UploadFiles/");
            if (files.Count != 0)
            {
                string fileName = files[0].FileName;
                files[0].SaveAs(Path.Combine(filePath, fileName));
                Response.Write("<p>上传成功</p>");
            }
            else
            {
                Response.Write("<p>未获取到Files:"+ files.Count.ToString()+"</p>");
            }
谢谢你的帮助。我先试试看行不行。
  • 打赏
  • 举报
回复
你这不就是类似ftp的功能?文件上传,然后另一台服务器读取不就行了?
编程有钱人了 2017-06-05
  • 打赏
  • 举报
回复

HttpFileCollection files = Request.Files;
            string filePath = Server.MapPath("~/UploadFiles/");
            if (files.Count != 0)
            {
                string fileName = files[0].FileName;
                files[0].SaveAs(Path.Combine(filePath, fileName));
                Response.Write("<p>上传成功</p>");
            }
            else
            {
                Response.Write("<p>未获取到Files:"+ files.Count.ToString()+"</p>");
            }
西漠以西 2017-06-05
  • 打赏
  • 举报
回复
百度 关键词 C# WebClient 上传下载
zhujinqiang 2017-06-05
  • 打赏
  • 举报
回复
参考: http://blog.csdn.net/yefengmeander/article/details/8441302

62,256

社区成员

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

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

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

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