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

Posted xiaonanmu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从非标准的POST数据流中提取文件相关的知识,希望对你有一定的参考价值。

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

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

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

比如:

技术分享图片

 

//找到文件在字节流中的起止位置
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();

以上是关于从非标准的POST数据流中提取文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Asset Pipeline 从非标准目录传递字体

从非本地网络访问服务器数据,无需端口转发

Linux Bash - 修改从标准输出中提取的文本

从非修复标头开始的 csv 读取 pandas 数据帧

是否有记录在案的方法可以从非标准位置使用自动工具?

如何从已分区的 BigQuery 表中提取单个分区?