如果在页面上放置asp:FileUpload控件,请浏览到文件,然后提交表单。是您提交表单时上传到服务器的文件吗?
我已经看到大量的文件上传示例,其中文件被传递到文件流并上传。
我不明白发生了什么事。单击“上载”按钮后,代码将在服务器上执行。因此FileUpload控件使用FileUpload.PostedFile(或httpFileCollection)提供的文件(文件名?文件路径?)是在提交表单时上传的吗?服务器如何访问客户端计算机上的文件,以便可以使用文件流上载。
我不明白。我一直在读文件流传递(可以传递)数据块 - 有助于绕过文件大小等限制但是,正如我上面所说,文件何时/如何上传到服务器?
答案 0 :(得分:1)
<asp:FileUpload>
控件呈现<input type="file">
,并将表单的内容类型设置为multipart/form-data
。
当浏览器提交<form>
<input type="file">
时,它会将整个文件发送到HTTP POST中的服务器(这是内容类型的一部分)。
答案 1 :(得分:1)
单击上传后,将提交html表单并将发布请求发送到服务器。
它实际上并没有向您发送可以直接存储的某种“文件”对象,只是以字节为单位的文件内容和一些元数据,如文件名。
在服务器上,您必须处理此请求:您必须将字节读入实际文件以正确存储它。
在你提到的例子中,这就是HttpPostedFile的用途。