我构建了一个方法,该方法接收本地文件并将其发布到取自the 2nd answer here.的远程站点
在远程站点上,我有我的HttpHandler,但不知道文件字节在哪里,所以我可以将它保存在远程机器上的某个地方。
有人可以帮我解决如何在HttpHandler中使用该文件进行处理吗?我尝试了下面但Request.Files是空的:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Collections.Specialized;
namespace Somewhere
{
public class UploadFileHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//VALIDATE FILES IN REQUEST
if (context.Request.Files.Count > 0)
{
//HANDLE EACH FILE IN THE REQUEST
foreach (HttpPostedFile item in context.Request.Files)
{
item.SaveAs(context.Server.MapPath("~/Temp/" + item.FileName));
context.Response.Write("File uploaded");
}
}
else
{
//NO FILES IN REQUEST TO HANDLE
context.Response.Write("No file uploaded");
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
答案 0 :(得分:0)
从上下文中获取HttpRequest
,并使用Files
属性获取HttpPostedFile
个对象的集合。然后,您可以从HttpPostedFile.InputStream
访问数据(名称,长度和MIME类型还有其他属性)。
编辑:既然已经编辑了问题以表明您已经在使用Files
属性,我强烈怀疑您正在查看错误的HTTP请求,或者您的方式有问题重新提出要求。我建议您使用Wireshark查看网络级别发生的情况 - 这样您就可以检查您的请求确实中是否包含文件数据。