我试图上传文件。但是,我在Internet上找到的大部分内容解释了如何将文件保存到服务器上的文件夹,但对于我的解决方案,我只需缓冲。可能吗?我将文件上传到服务器缓冲区,然后读取并清理。如何在ASP.NET缓冲区中上传文件
Obs .:我使用telerik组件,并需要读取/导入Excel文件。
感谢
我试图上传文件。但是,我在Internet上找到的大部分内容解释了如何将文件保存到服务器上的文件夹,但对于我的解决方案,我只需缓冲。可能吗?我将文件上传到服务器缓冲区,然后读取并清理。如何在ASP.NET缓冲区中上传文件
Obs .:我使用telerik组件,并需要读取/导入Excel文件。
感谢
因此,如果您使用的是二进制流,该方法无论缓冲它执行的背景下(asp.net VS的WinForms或其他)是很常见:
public static byte[] ReadFile(string filePath)
{
byte[] buffer;
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
try
{
int length = (int)fileStream.Length; // get file length
buffer = new byte[length]; // create buffer
int count; // actual number of bytes read
int sum = 0; // total number of bytes read
// read until Read method returns 0 (end of the stream has been reached)
while ((count = fileStream.Read(buffer, sum, length - sum)) > 0)
sum += count; // sum is a buffer offset for next reading
}
finally
{
fileStream.Close();
}
return buffer;
}
而且,看看这个:
默认FileUpload组件呈现您的文件作为Byte[]
- 你可以只将它包装在一个MemoryStream
:
var strm = new MemoryStream(fileUpload.PostedFile.Contents);
// I think its PostedFile.Contents, something like that anyway
我不这么认为投入缓冲区是一个不错的选择 – anishMarokey 2011-02-02 16:36:15