使用FileUpload
控件,请解释以下两种上传文件的方法之间的区别:
1。使用FileUpload.SaveAs()
方法:
fileUploadControl.SaveAs(path)
2。使用FileUpload.FileBytes
从File.WriteAllBytes()
将字节数组写入磁盘:
File.WriteAllBytes(path, fileUploadControl.FileBytes);
上传大文件时这些比较如何?
答案 0 :(得分:2)
这两者都有不同的目的
SaveAs
允许您直接保存为文件,WriteAllBytes
为您提供内容的字节数组。
文件上传控件只有在客户端上传文件后才会收到字节,因此上传速度没有差别。
字节数组是值类型,因此如果要传递它的副本,请注意,只要将其传递给函数,它就会在内存中创建副本。
当我想直接在内存和FileUpload.FileBytes
访问字节时,我会使用fileUploadControl.SaveAs
,只要我想要做的就是将文件写入磁盘。