从非标准的POST数据流中提取文件

时间:2023-03-09 16:17:18
从非标准的POST数据流中提取文件

1 接收数据流转成字符串,注意编码

byte[] recv= Request.BinaryRead(Request.TotalBytes);
string sourceByte = Encoding.UTF8.GetString(recv);

2 确认文件流在整个数据流的起止位置

比如:

从非标准的POST数据流中提取文件

//找到文件在字节流中的起止位置
int fileHeadLength = source.IndexOf("#!");
int fileFootLength = source.IndexOf("----", fileHeadLength);

3 从数据流中截取出来文件流,然后保存到指定路径

//保存文件
FileStream fss =new FileStream("path", FileMode.Create);
fss.Write(recv, fileHeadLength, fileFootLength-fileHeadLength);
fss.Close();