gpt4 book ai didi

c# - 如何安全地从 asp.net 中的流中读取数据?

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:26 25 4
gpt4 key购买 nike

byte[] bytes = new byte[uploader.UploadedFiles[0].InputStream.Length];
uploader.UploadedFiles[0].InputStream.Read(bytes, 0, bytes.Length);

var storedFile = new document();
string strFullPath = uploader.UploadedFiles[0].FileName;
string strFileName = Path.GetFileName(strFullPath);

storedFile.document_id = Guid.NewGuid();
storedFile.content_type = uploader.UploadedFiles[0].ContentType;
storedFile.original_name = strFileName;
storedFile.file_data = bytes;
storedFile.date_created = DateTime.Now;
db.documents.InsertOnSubmit(storedFile);
db.SubmitChanges();

如果:

在对 Read 的单个调用中从流中读取是非常危险的。您假设所有数据都将立即可用,但情况并非总是如此。您应该始终循环阅读,直到没有更多数据为止。

我应该如何更改上面的代码以使其“不那么危险”?

最佳答案

Jon Skeet 实际上有一篇非常好的博客文章,讲述了人们尝试阅读 Streams 的所有不同方式,以及为什么每一种方式都失败了(它以他认为是理想的解决方案结尾):

Reading binary data in C#

关于c# - 如何安全地从 asp.net 中的流中读取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4155844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com