上传文件:FileUpload.SaveAs或手动编写FileUpload.FileBytes

时间:2013-05-08 08:35:57

标签: c# asp.net .net file-upload file-io

使用FileUpload控件,请解释以下两种上传文件的方法之间的区别:

1。使用FileUpload.SaveAs()方法:

fileUploadControl.SaveAs(path)

2。使用FileUpload.FileBytesFile.WriteAllBytes()将字节数组写入磁盘:

File.WriteAllBytes(path, fileUploadControl.FileBytes);

上传大文件时这些比较如何?

1 个答案:

答案 0 :(得分:2)

这两者都有不同的目的 SaveAs允许您直接保存为文件,WriteAllBytes为您提供内容的字节数组。

文件上传控件只有在客户端上传文件后才会收到字节,因此上传速度没有差别。

字节数组是值类型,因此如果要传递它的副本,请注意,只要将其传递给函数,它就会在内存中创建副本。

当我想直接在内存和FileUpload.FileBytes访问字节时,我会使用fileUploadControl.SaveAs,只要我想要做的就是将文件写入磁盘。