如何以字节数组形式获取 MultipartMemoryStreamProvider 的文件内容?

2024-01-04

我创建了一个使用 FormData 将文件上传到 Web API 控制器的组件。

如何从 MultipartMemoryStreamProvider 获取字节数组形式的文件内容?

这是Web Api方法

   public Task<IEnumerable<FileModel>> Post()
   {             
     if (Request.Content.IsMimeMultipartContent())
        {            
            var streamProvider = new MultipartMemoryStreamProvider();
            var task = Request.Content.ReadAsMultipartAsync(streamProvider).ContinueWith<IEnumerable<FileModel>>(t =>
            {

                if (t.IsFaulted || t.IsCanceled)
                {
                    throw new HttpResponseException(HttpStatusCode.InternalServerError);
                }

                FileDataBO filedata;
                var fileInfo = streamProvider.Contents.Select(i => {
                    //save to db
                    filedata = new FileDataBO ();
                    filedata.FileName = i.Headers.ContentDisposition.FileName;
                    filedata.FileType = "jpeg";

                    // HOW TO GET FILE CONTENT HERE??? IT SHOULD BYTE[]
                    //filedata.FileContent = ???

                    //TODO
                    //_fileDataService.SaveFile(filedata);    

                    return new FileModel(i.Headers.ContentDisposition.FileName, 2048);
                });
                return fileInfo;
            });

            return task;
        }             
        else
        {
            throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted"));
        }       
   }

您应该能够通过执行以下操作来获取内容i.ReadAsByteArrayAsync()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以字节数组形式获取 MultipartMemoryStreamProvider 的文件内容? 的相关文章

  • 如何禁用vim的switch case缩进?

    我目前正在与 Vim 作斗争 我似乎无法让缩进选项达到我想要的效果 这是我的设置 我将它们放在 vimrc 的底部以确保它们优先 正如你所看到的 我有点疯狂 所以我尝试关闭几乎所有的东西 set cindent set cinkeys o
  • 抛出并保留堆栈跟踪不符合代码分析所描述的预期

    进行代码分析给了我项目 CA2200 CA2200 重新抛出以保留堆栈详细信息 func 重新抛出捕获的异常并将其显式指定为参数 请改用不带参数的 throw 以保留最初引发异常的堆栈位置 我已经实现了该建议 但无论如何我似乎都得到了相同的
  • 如何订阅 C++/CX 中 Windows 运行时组件内引发的事件?

    我在 Windows 运行时组件 用 C 编写 中有一个引发事件的类 我无法弄清楚如何在引用该组件的 C CX 应用程序中订阅这些事件 C 代码 在 Windows 运行时组件中 public sealed class Messenger
  • 时间跨度格式[重复]

    这个问题在这里已经有答案了 当您将时间跨度声明为以下形式时 如何优雅地格式化时间跨度以表示 1 小时 10 分钟 TimeSpan t new TimeSpan 0 70 0 我当然知道你可以为此做一些简单的数学计算 但我有点希望 NET
  • 在 Azure DevOps 中为 Wix MSI 文件生成 GUID

    我正在为 Web 服务器应用程序和 Sitecore 前端应用程序设置 Wix 安装程序 我的问题并非特定于 Web 服务器或 Sitecore 我的问题是 Wix 以及如何使用它进行持续交付 1 Wix 需要每个文件和产品本身的 GUID
  • 家庭自动化图书馆[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我是一名 C 开发人员 希望将家庭自动化作为一种 爱好 我做了一些研究 但想知道是否有人知道支持 In
  • 如何使属性在 POST 请求上必需,但在 PUT 请求上不需要

    假设我有一个用户模型Email and Password用于身份验证目的的属性 如下所示 public class User public long Id get set Required public string FirstName g
  • 如何唤醒正在休眠的线程?

    我在加载事件中创建了一个线程 如下所示 Thread checkAlert null bool isStop false private void frmMain Load object sender EventArgs e checkAl
  • 如果启用优化,JIT 是否会始终内联此方法?

    我并不期望得到明确的 是 或 否 您可能拥有的任何知识我都会考虑作为答案 private String CalculateCharge Nullable
  • x86 中有加速 SHA (SHA1/2/256/512) 编码的指令吗?

    一个例子 在x86 是硬件加速 AES 的指令集 http en wikipedia org wiki AES instruction set 但是x86中是否有加速SHA SHA1 2 256 512 编码的指令 以及在x86上编码SHA
  • 为什么大多数 STL 实现中的代码如此复杂?

    STL 是 C 世界的重要组成部分 大多数实现都源自 Stepanov 和 Musser 的最初努力 我的问题是考虑到代码的重要性 它是人们出于敬畏和学习目的查看编写良好的 C 示例的主要来源之一 为什么 STL 的各种实现看起来如此令人厌
  • WP8.1:Cortana uri 关联?

    Cortana 是否有 uri 关联 或者从其他应用程序启动的其他方式 我已经尝试过了 await Launcher LaunchUriAsync new Uri cortana await Launcher LaunchUriAsync
  • 如何消除字符串中的所有换行符?

    我需要删除字符串中出现的所有换行符 来自数据库 我使用下面的代码来做到这一点 value Replace r n Replace n Replace r 我可以看到至少有一个角色的行为就像行尾一样幸存了下来 字符代码是8232 http w
  • C# 的最佳替代“错误继续下一步”是什么?

    如果我为 C 代码放置空的 catch 块 它是否与 VB NET 的 On Error Resume Next 语句等效 try C code catch exception 我问这个问题的原因是因为我必须将 VB NET 代码转换为 C
  • SELECT 语句会受到 SQL 注入攻击吗?

    实际上有2个问题 我知道我必须尽可能多地使用存储过程 但我想知道以下内容 A 我可以从 SELECT 语句 例如 Select from MyTable 获得 SQL 注入攻击吗 B 另外 当我在 ASP NET 中使用 SQLDataSo
  • 无效的超链接:格式错误的 URI 作为超链接嵌入到文档中

    我在我的应用程序中使用 OpenXml 命名空间 我用它来读取 Excel 文件中的 XML 这对于某些 Excel 文件工作正常 但在其他文件上我收到运行时错误 无效超链接 格式错误的 URI 作为超链接嵌入到文档中 我在下面一行得到运行
  • c中的奇异值分解简单代码

    我正在寻找 C 语言的奇异值分解 SVD 代码 你能帮我吗 我找到了很多来源 但我无法运行它们 我正在寻找一个为我提供 S V 和 U 3 个矩阵的 SVD 代码版本 您可以使用数字食谱代码svdcmp c 参考 http tumic wz
  • IEnumerable 的随机顺序

    我有一个 IEnumerable 集合如下 var result1 GetResult1 Returns 2 4 5 6 我必须处理元素并以随机方式创建另一个集合 结果应如下 var result2 GetResult2 result1 R
  • C++ 中什么被视为语句?

    我的教授通常会问我的班级给定程序中有多少条语句 但我无法确定他将什么定义为语句 似乎 if else 是一个语句 而 for 循环也是一个语句 无论其中是否还有其他假设的语句 对于这个问题是否有任何管理规则或者他对自己的发明的定义 Than
  • 使用 async/await 抛出和捕获异常的正确方法

    全部请拿下面的二维码 Task

随机推荐

  • 用于“未保存数据”保护的客户端/JS 框架?

    我们有一个典型的 Web 应用程序 它本质上是一个数据输入应用程序 有很多屏幕 其中一些屏幕具有一定程度的复杂性 我们需要提供标准功能 以确保如果用户在离开或关闭浏览器之前忘记单击 保存 按钮 他们会收到警告并可以取消 但仅当存在未保存或脏
  • 如何在javascript中模拟HTML5拖放事件?

    正如标题 我试图在 JavaScript 中模拟 HTML5 拖放事件 我研究了 jquery ui simulate 以及模拟功能here https stackoverflow com questions 6157929 how to
  • 如何为连接表创建 DAO?

    我目前正在学习使用Dao我的项目中的模式 我知道 一张表相当于一张Dao 我对吗 就像StudentDao SubjectDao Each Dao施行CRUD相关表中的操作 但我的问题是 我将如何创建一个DAO对于连接表 假设我有一个查询来
  • NSManagedObject 属性数组

    我想获得我的属性的数组NSManagedObject所以我可以使用 KVO 来导出它们 我可以手动创建一个数组 然后迭代它 但是 我想自动获取此列表 然后迭代 NSManagedObject 有一个与其关联的实体 使用NS实体描述 http
  • 为什么 C# 中结构体的推荐大小为 16 字节?

    我读了 Cwalina 书 有关 NET 应用程序开发和设计的建议 他说 一个设计良好的结构体的大小必须小于 16 个字节 出于性能目的 到底是为什么呢 而且 更重要的是 如果我运行 NET 3 5 很快将成为 NET 4 0 我可以拥有更
  • p:dataTable 中的 SummaryRow 不起作用

    我试图在我的数据表上显示总价值 我的代码类似于 primefaces 展示数据表 摘要行 http www primefaces org showcase ui data datatable summaryRow xhtml但仍然不工作
  • 循环中的 OVER_QUERY_LIMIT

    我在使用 Google Places Javascript 库时收到 OVER QUERY LIMIT 状态代码 我的帐户启用了计费功能 因此实际上并不是我达到了发出的地点请求数量的限制 而是我正在使用 Javascript 库并循环处理数
  • 阻止特定 CSS 文件在 Yii 中加载

    我正在 Yii 中编码 我已在 main php 布局文件中注册了 main css 文件 如下所示 Yii app gt clientScript gt registerCssFile this gt assetsBase css mai
  • Hibernate中sql、oracle和mysql中的nvarchar注释映射

    我们使用 MS SQL Oracle 和 mysql 作为我们的数据库 我们使用hibernate注释来创建表 在注释类文件中我们将列定义声明为 Column name UCAALSNO nullable false columnDefin
  • 在字符串中使用运算符(Qualtrics + JavaScript)

    如果有人熟悉调查程序 我会尝试使用 Qualtrics 并且我正在嵌入 JavaScript 以便以特定方式对某些问题进行评分 我遇到的问题是 我试图将字符串与运算符连接起来 但它失败了 但是当我在不同的编辑器中尝试时 字符串运算符工作正常
  • 一个目录(同一级别)中的多个存储库 - 可能吗?

    我最初的问题是我有一个编写各种脚本的目录 它们中的每一个都是独立的 并且通常是一个文件长 我想对它们应用一些版本控制 但我有以下问题 要求 I 不想要必须储存每个小脚本 in a 单独的目录 I don t want to store th
  • 是否有任何 Java 库使用注释来生成代码?

    有谁知道使用中描述的技术 注释和类工作 的库本文 http www ibm com developerworks java library j cwt06075 自动生成标准 Java 类的标准对象方法 toString equals 和
  • 设置 TeamCity 以集成到 OSX Build Agent

    继我的问题之后设置 Teamcity 来构建 Android https stackoverflow com questions 28839437 setting up teamcity to build android studio pr
  • 使用 ASP.net 4 MVC 时,“tsc.exe”退出并显示代码 1

    我正在按照 TypeScript 网站上的教程将 TypeScript 和 Angular 2 添加到我的 ASP net MVC 项目中 教程可以从Typescript网站找到here https www typescriptlang o
  • 未解析的参考:将 gradle 转换为 gradle.kts 时的 ext

    默认情况下 当我从 Android Studio 创建撰写应用程序时 它会给我ext如下在我的根项目中build gradle buildscript ext compose version 1 0 0 repositories googl
  • Android 10 中 LocalService 和 LocalBinder 内存泄漏

    我有一个LocalService完全按照此处建议的实现 以便通过绑定器提供对服务方法的访问 https developer android com guide components bound services Binder https d
  • Java 脚本安全性(JRuby、Jython、Groovy、BeanShell 等)

    我希望运行一些未经验证的脚本 用尚未确定的语言编写 但需要基于 Java 因此 JRuby Groovy Jython BeanShell 等都是候选者 我希望这些脚本能够执行某些操作并限制执行其他操作 通常 我会使用 Java 的 Sec
  • 声明字符时char和int的区别

    我刚刚开始学习 C 对使用 int 和 char 声明字符感到相当困惑 我很清楚 任何字符都是由整数组成的 因为字符的 整数 是字符各自的 ASCII 小数 也就是说 我了解到完全可以使用int不使用 ASCII 小数 例如 声明变量tes
  • C++11 是否为 std::type_info 提供哈希函数?

    我仍在努力寻找一个好的解决方案来解决我的问题独一无二的容器问题 https stackoverflow com questions 3221501 oneofatype container storing one each of a giv
  • 如何以字节数组形式获取 MultipartMemoryStreamProvider 的文件内容?

    我创建了一个使用 FormData 将文件上传到 Web API 控制器的组件 如何从 MultipartMemoryStreamProvider 获取字节数组形式的文件内容 这是Web Api方法 public Task