How do I safely read from a stream in asp.net? <pre><code>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(); </code></pre> <p>If:</p> <p>Reading from a stream in a single call to Read is very dangerous. You're assuming all the data will be made available immediately, which isn't always the case. You should always loop round, reading until there's no more data. </p> <p>How should I change the above code to make it 'less dangerous'?</p>