Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IIS asp.net mvc部分?文件上传_Asp.net_Asp.net Mvc_Iis - Fatal编程技术网

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管道将调用控制器操作,您可以分块读取请求流并将其保存到另一个文件中,该文件将是上载文件的最终位置。在文件完成上载之前无法调用该操作,因为
多部分/表单数据
中可能有一些其他字段位于文件之后,在这种情况下不会分配这些字段