我有代码:
public Upload.UploadResponse Post(Upload.UploadRequest request)
{
Stream str = request.RequestStream; // RequestStream is System.Web.HttpInputStream
byte[] result;
using (var streamReader = new MemoryStream())
{
str.CopyTo(streamReader);
result = streamReader.ToArray();
}
return new Upload.UploadResponse() { Successed = 1 };
}
有没有办法从 MemoryStream 或流或 System.Web.HttpInputStream (Upload.UploadRequest 请求的一部分)获取文件名(带扩展名)而不保存文件?我需要在不知道发送给我的内容的情况下识别该文件。我尝试将其转换为 FileStream 但它为空。我使用的服务框架是服务栈ServiceStack
编辑:也许我需要随请求发送文件信息?
抱歉,我的英语不好,欢迎更正
编辑:
这是我用于上面代码的 UploadClass
public class Upload
{
[Route("/upload")]
public class UploadRequest : IRequiresRequestStream
{
public System.IO.Stream RequestStream { set; get; }
}
public class UploadResponse
{
public int Successed { set; get; }
}
}
最佳答案
您无法从流中提取文件名。
您需要将 FileName 属性添加到您的请求中。
关于c# - 从System.Web.HttpInputStream获取文件信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27129448/