IIS asp.net mvc部分?文件上传
鉴于下面的代码非常通用,我希望有人能告诉我一些幕后发生的事情IIS asp.net mvc部分?文件上传,asp.net,asp.net-mvc,iis,Asp.net,Asp.net Mvc,Iis,鉴于下面的代码非常通用,我希望有人能告诉我一些幕后发生的事情 [HttpPost] public ActionResult Load(Guid regionID, HttpPostedFileBase file) { if (file.ContentLength == 0) RedirectToAction("blablabla....."); var fileBytes = new byte[file.ContentLength]; file.Inpu
[HttpPost]
public ActionResult Load(Guid regionID, HttpPostedFileBase file)
{
if (file.ContentLength == 0)
RedirectToAction("blablabla.....");
var fileBytes = new byte[file.ContentLength];
file.InputStream.Read(fileBytes, 0, file.ContentLength);
}
具体来说,在调用我的操作方法之前,文件是否已完全上载到服务器?或者是file.InputStream.Read()方法调用导致或等待整个文件上载。我可以在流上进行部分读取,并在上传文件时访问文件的“块”吗?(如果在调用我的方法之前上传了整个fire,那么这一切都是没有意义的。)
有人能给我指出一些关于内部工作的好信息吗。这里的IIS6和II7有什么区别吗
谢谢,调用操作方法之前,需要将while文件发送到服务器。引自: 文件以MIME格式上载 多部分/表单数据格式。通过 默认情况下,所有请求,包括表单 字段和上载的文件,大于 256 KB缓冲到磁盘,而不是 而不是保存在服务器内存中 您可以指定允许的最大值 通过访问 MaxRequestLength属性或按 设置maxRequestLength属性 httpRuntime元素(ASP.NET)的 设置(架构)元素 Machine.config或Web.config文件。这个 默认值为4MB 缓冲在中的数据量 请求的服务器内存,其中 包括文件上传,可以 通过访问 RequestLength DiskThreshold属性或 通过设置 requestLengthDiskThreshold属性 httpRuntime元素(ASP.NET)的 设置(架构)元素 Machine.config或Web.config文件 服务器内存不会在服务器上消耗,但文件内容将缓冲到磁盘。一旦客户端发送了整个文件,ASP.NET管道将调用控制器操作,您可以分块读取请求流并将其保存到另一个文件中,该文件将是上载文件的最终位置。在文件完成上载之前无法调用该操作,因为
多部分/表单数据
中可能有一些其他字段位于文件之后,在这种情况下不会分配这些字段