使用 OpenRasta 和 IMultipartHttpEntity 上传 multipart/form-data

发布于 2024-10-02 10:53:21 字数 533 浏览 2 评论 0原文

我正在尝试使用 OpenRasta 发布一些文件。我已经调用了我的处理程序,但从表面上看,实体中的流是空的。这是我的处理程序:

public OperationResult Post( IEnumerable<IMultipartHttpEntity> entities)
{
    var foo = entities.ToList();
    foreach (var entity in foo)
    {
        if (entity.Stream != null && entity.ContentType != null)
        {
            var memoryStream = new MemoryStream();
            entity.Stream.CopyTo(memoryStream);
        }
    }
    return new OperationResult.Created();
}

每次循环时,memoryStream 的长度都是 0。我做错了什么?

I'm trying to post some files using OpenRasta. I've gotten as far as getting my handler called, but by all appearances the stream in the entity is empty. Here's my handler:

public OperationResult Post( IEnumerable<IMultipartHttpEntity> entities)
{
    var foo = entities.ToList();
    foreach (var entity in foo)
    {
        if (entity.Stream != null && entity.ContentType != null)
        {
            var memoryStream = new MemoryStream();
            entity.Stream.CopyTo(memoryStream);
        }
    }
    return new OperationResult.Created();
}

Each time through the loop memoryStream has a length of 0. What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你列表最软的妹 2024-10-09 10:53:21

没有什么比在 StackOverflow 上发帖更能让答案立即显而易见的了。显然,为了获取流,您只获得实体的一个枚举。我在上面添加了“foo”变量以使调试更容易,但它导致流式传输失败。当我将流存储到数据库时,我也未能在写入之前将内存流重置为开头。解决这两个问题后可以正确上传文件。

Nothing like posting on StackOverflow to make the answer immediately obvious. Apparently you only get one enumeration of the entities in order to grab the stream. I had added the "foo" variable above to make debugging easier, but it was causing the streaming to fail. As I stored the stream to the database, I had also failed to reset memoryStream to the beginning before writing it. Fixing these two issues got the file to upload correctly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文