MVC中的文件上传

2023-11-23

我正在尝试在 MVC 中上传文件。我在 SO 上看到的大多数解决方案是使用 webform。我不想使用它,并且个人更喜欢使用流。如何在MVC上实现RESTful文件上传?谢谢!


Edit:当您认为自己已经解决了所有问题时,您就会意识到还有更好的方法。查看http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx

原来的:我不确定我是否 100% 理解您的问题,但我假设您想要将文件上传到类似于 http://{server name}/{Controller}/Upload? 的网址?这与使用 Web 表单上传普通文件完全一样。

所以你的控制器有一个名为 upload 的操作,看起来类似于:

//For MVC ver 2 use:
[HttpPost]
//For MVC ver 1 use:
//[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Upload()
{
    try
    {
        foreach (HttpPostedFile file in Request.Files)
        {
            //Save to a file
            file.SaveAs(Path.Combine("C:\\File_Store\\", Path.GetFileName(file.FileName)));

            // * OR *
            //Use file.InputStream to access the uploaded file as a stream
            byte[] buffer = new byte[1024];
            int read = file.InputStream.Read(buffer, 0, buffer.Length);
            while (read > 0)
            {
                //do stuff with the buffer
                read = file.InputStream.Read(buffer, 0, buffer.Length);
            }
        }
        return Json(new { Result = "Complete" });
    }
    catch (Exception)
    {
        return Json(new { Result = "Error" });
    }
}

在本例中,我返回 Json 来指示成功,但如果需要,您可以将其更改为 xml(或任何与此相关的内容)。

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

MVC中的文件上传 的相关文章

  • 无法通过预处理器指令将字符串小写转换为大写

    我制作了一个将字符串小写转换为大写的程序 我知道如何通过预处理器指令将字符转换为大写 但我不知道如何对字符串执行此操作 include
  • Signal R Native Android 应用程序协商失败

    我正在尝试创建一个可以连接到我的基本 SignalR Hub 的 Android 应用程序 它只是一个基本的集线器文件 我想用它来测试一些东西 但到目前为止我还没有运气 有人可以看看我做错的事情吗 每次我尝试运行它时 我都会收到以下堆栈竞赛
  • 回调月、周、日标题栏按钮点击?

    当用户单击日 周 月按钮时 我需要运行一些 Javascript 代码来重新加载日历 有没有类似的回调dayButtonClicked 或者其他的东西 BUG发生 当我第一次加载日历时 最初的视图看起来不错 我的最初加载日 一旦我加载另一个
  • asp.net mvc强制在表单上获取url的样式

    我有一个用于搜索用户的简单表单 p Enter a user s id number to search p
  • 为什么 toDataURL 在移动设备上无法获取画布内容?

    我正在尝试从画布中获取图像 它可以在电脑浏览器上运行 但不能在移动设备上运行 我在 iPhone 上的 Safari 中进行了测试 这是代码 draw click function drawing css visibility visibl
  • JS - 使用变量设置 Div 背景颜色

    基本上 我的一个朋友正在练习 JS 他想到了一个测试基本站点的想法 所以我说我们将进行一场比赛来完成它 此时我们都遇到了错误 我们在 JS 中创建了一种颜色 但是当我们需要输出时它就不起作用了 我有这个 document getElemen
  • 输入文本中固定下划线

    我试图修复所有输入文本类型中的下划线 但没有成功 Example My code input width 100 background color fcfcfc border 0 padding 10px div class col lg
  • C++ 数组中的多字节 UTF-8

    我在处理数组中的 3 字节 Unicode UTF 8 字符时遇到了问题 当它们位于 char 数组中时 我收到多字符字符常量和隐式常量转换警告 但当我使用 wchar t 数组时 wcout 根本不返回任何内容 由于项目的性质 它必须是数
  • 指定初始化和基类?

    在C 20 最新草案 中 给出以下代码 struct B int mb struct D B int md 这六个表达式中哪些是格式错误的 哪些不是 1 D 42 43 2 D 42 43 3 D 42 md 43 4 D 42 md 43
  • dll 的 App.config

    我们有一个 引擎 可以动态加载 dll 无论位于某个目录中的什么 并通过反射的方式从中调用工作流类 我们现在有一些需要访问数据库的新工作流程 因此我想将配置文件放在 dll 目录中 但由于某种原因 我的工作流程看不到配置文件
  • 在 CsvHelper.CsvWriter 中手动添加标头

    我在用着CsvHelper用于写入行的类DataTable到 csv 文件 该代码有效 但我无法让它写入标题 如何在不创建类映射的情况下手动添加标头 http joshclose github io CsvHelper http joshc
  • 处理长时间运行的报告

    我正在开发一个用 C 和 Sql Server 2000 数据库编写的 ASP net 应用程序 我们有多个 PDF 报告供客户用于满足其业务需求 问题是这些报告需要一段时间才能生成 gt 3 分钟 通常最终发生的情况是 当用户请求报告时
  • SetOaNoCache 是在哪里定义的?

    试图disableBSTR缓存 SetOaNoCache VC 编译器构建输出 SetOaNoCache identifier not found Don t想要使用 奥诺缓存 1 问题 哪里设置Oa无缓存 http msdn micros
  • 根据用户输入的边计算三角形面积和周长

    我正在尝试编写一个程序 根据用户的输入计算三角形的面积和周长 他们应该输入侧面 这就是我所拥有的一切 由于某种原因 我无法很好地理解而无法查找 它不起作用
  • DDD - 跨有界上下文边界聚合根实体使用情况

    在域模型中对实体身份进行建模的一种建议方法是创建值对象而不是使用原始类型 例如在 C 中 public class CustomerId public long Id get set 在我看来 此类应该在整个应用程序中使用 而不仅仅是在域模
  • C# 是否包含 IParsable 或 ItryParsable

    显然 为您自己的解决方案实现以下接口将相当简单 public interface IParsable
  • _bstr_t 内存泄漏

    我有一个 C 代码 但它没有正确释放内存 告诉我哪里错了 这是我的代码 1 void MyClass MyFunction void 2 3 for int i 0 i
  • fgetc 无法识别 EOF [重复]

    这个问题在这里已经有答案了 下面的程序在各种 Solaris Linux 版本上运行良好 但在 AIX 上运行不佳 但是 如果我更换while c EOF with while c 0xff 在 AIX 上它运行得很好 有什么想法吗 我检查
  • 使用 cout 打印字符数组的全部内容

    我对 C 很陌生 只是 Java 的背景不太好 并且对如何打印 char 数组的全部内容感到困惑 我相信我需要使用循环 并将循环基于数组的长度 但我的编译尝试没有成功 这就是我现在所拥有的 在此先感谢您的帮助 include
  • Visual Studio 2019:如何使用平台工具集 v140_xp?

    我正在尝试使用 Visual Studio 2019 编译适用于 Windows XP 的应用程序 为此 我尝试使用平台工具集 v140 xp 它不起作用 出现以下错误消息 C Program Files x86 MSBuild Micro

随机推荐

  • 使用 python 求解非方阵 A 的 Ax =b

    我关注的是特殊情况A是一个 n x d 矩阵 其中 k numpy 但是它们仅适用于方阵 我采用了用一些线性独立向量填充矩阵以对其进行 平方 然后求解的方法 但我无法弄清楚如何选择这些向量 以便它们与基向量线性无关 而且我认为它是这不是唯一
  • requestAnimationFrame 循环不正确 FPS

    我有一个 javascript 函数 我的游戏 希望 每秒循环 60 次 用于控制输入 绘图等 目前的编码方式似乎始终在 52 左右 明显低于 60 fps 甚至在没有其他事情发生时甚至会下降到 25 30 fps function loo
  • 除了下面之外还有其他方法可以将 json.rows 文件加载到 RStudio 中吗?

    我有一个 json rows 文件 gt instances json rows 大约有 223k 行 我尝试使用 jsonlite 并想出了 instancesfile lt fromJSON instances json rows 但我
  • Typescript:从数组类型中检索元素类型信息

    假设我有一些数组类型T 是否可以提取类型T在另一个别名 接口中 例如 我的 假的 理想代码如下 for illustration only type ArrayElement
  • 错误:[$compile:multidir] 多个指令 [form, form] 请求“form”控制器:

    我在 angularjs 中构建的表单上收到此错误 错误 compile multidir 多个指令 form form 请求 form 控制器 div ul li div job role div div job salary div d
  • 运行 shell 脚本并立即将其置于后台,但保留检查其输出的能力

    如何立即运行 shell 脚本背景但是 它仍然可以通过尾随来随时检查其输出 tmp output txt 如果可以就好了前景这个过程太晚了 P S 如果您还可以向我展示如何将后台进程 发送 到可能已初始化或尚未初始化的 GNU 屏幕 那就太
  • 从 csv 文件中的数据创建多个 csv 文件

    系统 OSX 或 Linux 我正在尝试自动化我的工作流程 每周我都会收到一个 excel 文件 我会将其转换为 csv 一个例子是 L1 L2 L3 L4 L5 L6 L7 L8 L9 L10 L11 Title r t needed a
  • 为什么 Java 5+ API 不利用协变返回类型?

    从 Java 5 开始 我们可以协变返回类型 为什么 Java API 不利用这一点呢 Take Graphics2D create 例如 为什么不重写它来返回Graphics2D目的 在我看来 它在所有情况下都是向后兼容的 总的来说 这确
  • Mac OS X 上链接库的默认搜索目录是什么

    我已经建立了谷歌测试在 Mac OS X 上使用 CMake 并获得两个共享库 libgtest dylib and libgtest main dylib 现在我需要安装它们 我知道Linux上有一些默认的搜索目录 例如 usr lib
  • 在 Windows 中以编程方式确认打印成功

    我的公司正在开发一个财务应用程序 现在我们必须应对一项新法律 该法律要求我们无论是否打印收据都采取不同的行动 收据使用 Windows 中的标准打印队列在 A4 纸上的激光打印机上打印 有没有办法以编程方式检查某个打印作业是否确实成功 需要
  • 日期格式化后以小写形式显示 AM 和 PM

    格式化日期时间后 时间以大写形式显示 AM 或 PM 但我希望它以小写形式显示 例如 am 或 pm 这是我的代码 public class Timeis public static void main String s long ts 1
  • 单个 EventMachine 反应器中的多个服务器

    是否可以在单个事件机器中运行多个服务器 我的意思是单个客户端连接可以同时使用多个服务 例如 登录服务器对用户进行身份验证 然后用户可以通过单个客户端套接字同时使用聊天室和简单的游戏 例如跳棋 或者每个服务是否需要多个 eventmachin
  • 在 Python 中通过 HTTP 将未知大小的数据从客户端流式传输到服务器

    不幸的是 我之前的问题因是问题的 精确副本 而被关闭 而它绝对不是 特此再次 它不是重复的Python HTTP 使用流式传输大文件 那个处理的是大文件的流传输 我想将文件的任意块一一发送到同一个 http 连接 所以我有一个 20 MB
  • 带 switch 和 ForEach 的 Golang 模板

    我需要创建bash sh来自 golang 程序的文件 应该执行以下操作 Create ForEach循环依赖项并读取类型并根据类型 打印不同的回显消息 命令 我需要它来使用switch on the type与 Golang 的依赖关系
  • 如何将SQL Server数据库迁移到MySQL? [关闭]

    Closed 这个问题是无关 目前不接受答案 我有一个SQL服务器数据库有大量数据和空数据MySQL数据库 现在我想将SQL Server数据库的所有数据 包括数据库架构 复制到MySQL数据库 我考虑过使用原始 SQL 转储 但 SQL
  • 如何在我的网站上显示来自 Amazon S3 的图像?

    我的照片存储在 Amazon S3 上 这些图片是私人的 不公开 所以我无法通过直接链接显示它们s3 amazonaws bucket name key name image name jpg 我知道 Amazon S3 上的图像名称 如何
  • 通过 IN 子句对 SQL Server 结果进行排序

    我有一个使用 IN 子句的存储过程 在我的 ASP NET 应用程序中 我有一个多行文本框 它向存储过程提供值 我希望能够按文本框中输入的值进行排序 我找到了如何在 mySQL 中轻松执行此操作 使用 FIELD 函数 但没有找到 SQL
  • PHP:Adobe Reader 无法打开使用 mpdf 创建的 PDF 文件

    我正在使用 mpdf 即时创建 PDF 文件 文件可以在浏览器中正常打开 但 Adob e 给我一个错误 Adobe Acrobat Reader DC 无法打开 example filename pdf 因为它不是受支持的文件类型 或者因
  • Android webview:检测滚动

    我需要知道如何检测用户是否无法在 webView 中滚动 我想在用户向左或向右滑动时生成一个操作 但前提是用户无法滚动 IF the user swipes to the left AND the webview can t scroll
  • MVC中的文件上传

    我正在尝试在 MVC 中上传文件 我在 SO 上看到的大多数解决方案是使用 webform 我不想使用它 并且个人更喜欢使用流 如何在MVC上实现RESTful文件上传 谢谢 Edit 当您认为自己已经解决了所有问题时 您就会意识到还有更好