c# - 从System.Web.HttpInputStream获取文件信息

标签 c# .net file casting stream

我有代码:

    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/

相关文章:

android - 从 firebase 存储下载并播放 .mp3 文件到内存

python - 无法使用python将数据写入文件

c# - 简单的 LINQ to Entities 翻译

c# - 欧拉 1,代码不起作用

.net - 运行依赖于 WMI 的应用程序时出错

windows - Windows + NTFS 中的文件访问时间

c# - 基于正方形内距离的 yield 递减

c# - Linq : To join or not to join (which is the better way, 联接或关系)

c# - 虚拟泛型方法调用是如何实现的?

.net - 返回一个实现 IDisposable 的对象是个好主意吗?