首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用XMLHttpRequest和asp.net MVC将大型blob发布到服务器?

使用XMLHttpRequest和asp.net MVC将大型blob发布到服务器的步骤如下:

  1. 在前端,创建一个XMLHttpRequest对象,并设置其请求方法为POST。
  2. 将要上传的大型blob数据分片,并使用FormData对象将每个分片添加到请求体中。
  3. 设置请求头,指定请求体的内容类型为multipart/form-data。
  4. 发送XMLHttpRequest请求到服务器端的asp.net MVC控制器。
  5. 在服务器端的asp.net MVC控制器中,接收请求并处理分片数据。
  6. 将接收到的分片数据写入临时文件或内存中的缓冲区。
  7. 当所有分片都接收完毕后,将分片数据合并为完整的blob数据。
  8. 将完整的blob数据保存到服务器端的目标位置。

以下是每个步骤的详细说明:

  1. 在前端,可以使用以下代码创建一个XMLHttpRequest对象:var xhr = new XMLHttpRequest();
  2. 将要上传的大型blob数据分片,并使用FormData对象将每个分片添加到请求体中。可以使用以下代码示例:var blob = ... // 获取要上传的blob数据 var chunkSize = 1024 * 1024; // 设置每个分片的大小为1MB var start = 0; var end = chunkSize; while (start < blob.size) { var chunk = blob.slice(start, end); var formData = new FormData(); formData.append('chunk', chunk); xhr.send(formData); start = end; end = start + chunkSize; }
  3. 设置请求头,指定请求体的内容类型为multipart/form-data。可以使用以下代码示例:xhr.setRequestHeader('Content-Type', 'multipart/form-data');
  4. 发送XMLHttpRequest请求到服务器端的asp.net MVC控制器。可以使用以下代码示例:xhr.open('POST', '/upload', true); xhr.send();
  5. 在服务器端的asp.net MVC控制器中,接收请求并处理分片数据。可以使用以下代码示例:[HttpPost] public ActionResult UploadChunk(HttpPostedFileBase chunk) { // 处理分片数据 // 将分片数据写入临时文件或内存中的缓冲区 return Json(new { success = true }); }
  6. 当所有分片都接收完毕后,将分片数据合并为完整的blob数据。可以使用以下代码示例:[HttpPost] public ActionResult MergeChunks() { // 合并分片数据为完整的blob数据 // 返回完整的blob数据的保存路径或标识 return Json(new { success = true, filePath = "path/to/merged/blob" }); }
  7. 将完整的blob数据保存到服务器端的目标位置。可以使用以下代码示例:[HttpPost] public ActionResult SaveBlob(string filePath) { // 将完整的blob数据保存到目标位置 return Json(new { success = true }); }

这样,使用XMLHttpRequest和asp.net MVC就可以将大型blob发布到服务器了。请注意,以上代码示例仅为演示用途,实际应用中可能需要根据具体需求进行适当的修改和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何使用vs将asp.net core项目添加容器支持并发布docker镜像到私有dockerhub和添加k8shelm管理

这篇文章介绍一下,如何使用VS2017给asp.net core添加容器支持,并发布镜像到私有docker hub,然后用chart管理容器镜像的操作流程。 话不多说,just do it....新建项目 首先新建一个asp.net core项目,这里我新建一个WebApi默认项目。 这里我就不启动项目了,模板项目肯定是能跑起来的。  ...发布镜像到私有Docker Hub VS可以帮助我们一键打包并发布镜像。 右键项目,点击发布。 第一次发布会提示你选择发布方式,选择容器注册表,然后选择自定义。...点击发布,填写私有dockerhub的地址已经用户名密码。 这里我使用腾讯云的Tencent Hub。 点击保存即可发布docker镜像。  ...如果使用Azure的话可以直接发布到Azure的K8S上面,还可以DeBUG喔~ 这里我没有,就手动将chat包推到Tencent上了。

49620
  • ASP.NET Core MVC 概述

    ASP.NET Core MVC 是使用“模型-视图-控制器”设计模式构建 Web 应用和 API 的丰富框架。 什么是 MVC 模式?...在 MVC 模式中,控制器是初始入口点,负责选择要使用的模型类型和要呈现的视图(因此得名 - 它控制应用如何响应给定请求)。 备注 控制器不应由于责任过多而变得过于复杂。...它可让你定义适用于搜索引擎优化 (SEO) 和链接生成的应用程序 URL 命名模式,而不考虑如何组织 Web 服务器上的文件。可以使用支持路由值约束、默认值和可选值的方便路由模板语法来定义路由。...验证属性在值发布到服务器前在客户端上进行检查,并在调用控制器操作前在服务器上进行检查。...C#复制 [Authorize] public class AccountController : Controller { 区域 区域提供将大型 ASP.NET Core MVC Web 应用分区为较小功能分组的方法

    6.4K20

    .NET 8 Release Candidate 1 (RC1)现已发布,包括许多针对ASP.NET Core的重要改进!

    这是我们计划在今年晚些时候发布的最终.NET 8版本之前的两个候选版本中的第一个。大部分计划中的功能和变更都包含在这个候选版本中,可以供您尝试使用。...以下是此预览版中的新功能摘要: 服务器和中间件 默认情况下禁用HTTP/3 API编写 在最小API、MVC和SignalR中支持键入服务 Blazor Blazor Web App模板更新 从额外的程序集中发现用于静态服务器呈现的组件...如果同时选择了WebAssembly和Server渲染模式,那么模板将使用自动渲染模式。自动渲染模式将在下载.NET运行时和应用程序包到浏览器时首先使用Server模式。...一旦运行时下载完成,自动模式将切换开始使用WebAssembly渲染模式。 默认情况下,Blazor Web App模板将在单个项目中启用静态和交互式服务器呈现。...服务器项目中使用客户端组件的页面。这个解决方案是不必要的。可以在将其指令复制到客户端项目后,将服务器项目中的组件删除。然后在Program.cs中调用Counter以便可以发现该组件。

    33840

    国内 Mono 相关文章汇总

    Mono 2.8发布:C#4.0和更好的性能 在Mono 2.8上部署ASP.NET MVC 2 移植Windows自宿主WCF服务到Linux/Mono2.8 LINUX平台下操作MYSQL C#--...使用Mono.Cecil辅助ASP.NET MVC使用dynamic类型Model 谈谈用ASP.NET开发的大型网站有哪些架构方式(成本) WCF置于Mono下遇到的一些问题 在MONO下实现WCF...Mono 3.2.7发布,JIT和GC进一步改进 如何让我们的PHP在Jexus中跑起来 Xamarin和微软发起.NET基金会 mono for android系列学习过程系列教程(1) mono...项目的组成说明 Harries-高性能分布式Asp.net通信框架 CentOS7 + mono +Jexus 环境的搭建 VS2013中的MVC5模板部署到mono上的艰辛历程 如何利用mono把.net...Mono,JIT,IOS 深入浅出聊优化:从Draw Calls到GC OS X 安装Jexus作为ASP.NET服务器 linux下mono播放PCM音频 使用C#给Linux写Shell脚本 Mono

    11.4K60

    C#.NET.NET Core技术前沿周刊 | 第 17 期(2024年12.09-12.15)

    模型与 .NET Aspire 结合使用 文章简介: 使用本地 AI 模型是在您自己的计算机上进行实验的好方法,而无需将资源部署到云中。...在本文中,我们将了解如何将 .NET Aspire 与 Ollama 结合使用在本地运行 AI 模型,同时使用 Microsoft.Extensions.AI 抽象使其在部署时过渡到云托管模型。...从更新控件到显示表单和对话框,这些新增功能以新的方式为 WinForms 带来了异步编程的强大功能。在这篇文章中,我们将深入探讨四个关键 API,解释它们的工作原理、它们的亮点以及如何开始使用它们。...文章地址: https://devblogs.microsoft.com/dotnet/introducing-winforms-async-apis 将ASP.NET Core Web API和Blazor...Wasm发布到 IIS 文章简介: 将ASP.NET Core Web API和Blazor Wasm发布到 IIS。

    7610

    .NET周报【12月第2期 2022-12-15】

    一体化搜索的改进 编辑时的粘性滚动 在调试器文本可视化器中对URL编码的字符串、Base64、JWT和其他字符串进行解码 快速补充 改进的重新认证工作流程 将ASP.NET Core应用程序发布到Azure...将Blazor WebAssembly(由ASP.NET Core托管)部署到Fly.io,该网站可免费使用(使用EF Core+PostgreSQL) - Qiita https://qiita.com.../nobu17/items/824c39493f7b12e94f7b 一篇关于将Blazor WebAssembly部署到fly.io并在服务器端用EF Core连接PostgreSQL等的文章。...在.NET 7中,将ASP.NET Core Identity中的2FA's Token Provider长度减少到4位而不是6位。...and-swagger-47b4143e8bf5 关于如何使用API Explorer将ASP.NET Core Web API版本管理与Swagger结合起来的文章。

    2.2K20

    【翻译】在没有安装ASP.NET MVC3的服务器上运行ASP.NET MVC3的程序-scottgu

    一些背景: 我们支持两种方式使您可以使用一台机器上的ASP.NET MVC3组件: 1,在一台机器上,将ASP.NET MVC 3组件安装在一个集中的地方,WEB项目在那里引用这些组件 2,把ASP.NET...MVC 3的组件复制到您的Web项目的\bin文件夹下,WEB项目在那里引用这些组件 第一种方法是我们使用Visual Studio中使用的默认方法, 这使得我们可以更容易为ASP.NET MVC 3...第二种方法也是得到了完全支持,没有在服务器上安装ASP.NET MVC3,也可以使用它。...如果你复制一个普通的ASP.NET MVC 3项目(使用默认的方法引用ASP.NET MVC3的程序集) 到一台没有安装ASP.NET MVC3的机器上, 当你运行应用程序时, 会看到一个类似的错误信息...方法2:基于\ Bin目录中引用ASP.NET MVC组件 您的项目可以使用另一种方法 在您的Web应用程序的\bin目录中分发和引用的ASP.NET MVC3的程序集。

    4.2K10

    Ocelot API网关的实现剖析

    Authentication using IdentityServer 您可以将端点标记为已认证,并使用IdentityServer承载标记对您的用户进行身份验证....Ocelot就是使用Middleware来完成网关的所有功能,每个小功能就是一个Middleware,具体可以看代码 https://github.com/TomPallister/Ocelot/blob...具体内容参考: ASP.NET Core HTTP 管道中的那些事儿 和 如何一秒钟从头构建一个 ASP.NET Core 中间件, 我们在Middleware的编程过程中需要关注HttpContext...Ocelot 默认支持Http的通讯,在我们的实际项目中有很多老的服务是RPC调用,使用的是私有的Relay通讯框架,在API网关上需要做协议转换,自动将Http的请求转换成Relay的tcp通讯。...core mvc 的在线编辑路由。

    1.5K100

    Ocelot API网关的实现剖析

    Authentication using IdentityServer 您可以将端点标记为已认证,并使用IdentityServer承载标记对您的用户进行身份验证....Ocelot就是使用Middleware来完成网关的所有功能,每个小功能就是一个Middleware,具体可以看代码 https://github.com/TomPallister/Ocelot/blob...具体内容参考: ASP.NET Core HTTP 管道中的那些事儿 和 如何一秒钟从头构建一个 ASP.NET Core 中间件, 我们在Middleware的编程过程中需要关注HttpContext...Ocelot 默认支持Http的通讯,在我们的实际项目中有很多老的服务是RPC调用,使用的是私有的Relay通讯框架,在API网关上需要做协议转换,自动将Http的请求转换成Relay的tcp通讯。...core mvc 的在线编辑路由。

    1.3K50

    ASP.NET Core 6 RazorPages 开发项目实战教程

    链接地址: https://github.com/dotnet/core/blob/main/roadmap.md .NET发布时间表 在大多数存储库中都可以使用里程碑信息,例如dotnet / runtime...关于学习讨论和源代码下载 在本视频以及本系列的后续视频中,我们将讨论使用ASP.NET 6 Razor Pages 搭建一个Web应用程序。所以我们需要学习它。...如果您是看过我的《深入浅出ASP.NET Core》或者学过我的基础视频,您可能已经知道我们可以使用ASP.NET Core MVC来搭建一套Web应用程序。...所以我们先来学习和讨论,MVC和Razor Pages之间的区别。以及什么时候更适合使用RazorPage的场景。 在此之前,我们先了解下,学习本课程需要提前掌握的知识内容及我们的机器配置。...课程前提条件 要继续学习本课程,您需要具备以下方面的基础知识 ASP.NET Core 基础 课程地址 C# HTML和CSS 了解以下ASP.NET Core概念将非常有帮助。

    1.2K20

    8.web的发展 互联网发展 起源 历史 cgi web项目发展 企业应用web项目 框架 发展 互联网技术发展 互联网技术包括 web技术发展 web开发技术

    让Java开发者同时拥有了类似CGI程序的集中处理功能和类似PHP的HTML嵌入功能 此外,Java的运行时编译技术也大大提高了Servlet和JSP的执行效率 1999年,Sun正式发布了J2EE的第一个版本...2002年,Microsoft正式发布.NET Framework和Visual Studio .NET开发环境。...ASP.NET超越了ASP的局限 可以使用VB.NET、C#等编译型语言,支持Web Form、.NET Server Control、ADO.NET等高级特性。...的概念被引入到web项目中来,出现了Structs   Spring MVC等 控制器Controller负责响应请求,协调Model和View。...CSS以设计、改变其HTML页面的样式而知名,并使用于Web和其他媒介,如XML文档中.

    1.3K20

    Asp.Net MVC3 简单入门第一季(五) 通过Asp.Net MVC的区域功能实现将多个MVC项目部署到一个站点

    引子 本文将主要演示怎么将多个Asp.Net MVC项目部署到一个IIS站点中的例子,主要使用的是Asp.Net MVC提供的区域的功能。...Asp.Net MVC提供了区域的功能,可以很方便的为大型的网站划分区域。可以让我们的项目不至于太复杂而导致管理混乱,有了区域后,每个模块的页面都放入相应的区域内进行管理很方便。...MVC项目】,最后部署的时候将子项目都配置成区域,而总的项目就是一个站点。...然后我们发布主项目到一个磁盘文件夹。然后,将子项目AreasDemo的Views文件夹拷贝到主项目发布后的文件夹对应的Areas\AreasDemo文件夹下。...MVC的区域的功能实现了将多个Asp.Net MVC的项目部署的了一个IIS的站点中,这样就可以让我们多个人一块开发的不用局限在一个Web项目中了。

    87310

    Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序

    下面介绍如何设置和配置Visual Studio ASP.NET MVC 4.5.2应用程序,将其部署到IIS,以及如何从Visual Studio附加远程调试器。...有关详细信息或安装到 Windows 桌面计算机,请参阅发布到 IIS或IIS 8.0 使用 ASP.NET 3.5 和 ASP.NET 4.5。...如果你想要启用部署使用的发布设置和 Web 部署,请确保IIS 管理脚本和工具处于选中状态。 继续完成安装 web 服务器角色和服务的确认步骤。...07 选择部署选项 如果您需要帮助将应用部署到 IIS,请考虑这些选项: 通过在 IIS 中创建的发布设置文件和导入 Visual Studio 中的设置部署。...在某些情况下,这是一种将应用部署的快速方法。 创建发布设置文件时,权限自动将会在 IIS 中设置。 部署发布到本地文件夹并将输出的首选方法复制到 IIS 上的已准备好应用程序文件夹。

    4K10

    微软发布ASP.NET Core 2.2,先睹为快。

    目前此UI的Docker镜像已经发布到Docker Hub。...如何将项目迁移到ASP.NET Core 2.2 要将ASP.NET Core项目从2.1迁移到2.2,请打开项目的.csproj文件并将TargetFramework元素的值更改为netcoreapp2.2...这样做现在将导致构建警告。 有关升级到ASP.NET Core 2.2的更多信息,请参阅此处。 生命周期 ASP.NET Core 2.2是目前.NET Core系列中的最新版本。...这是自2.1 LTS宣布重新建立单独的LTS以来的首次发布,也是2.x生命周期中的最后一次非服务版本,包括一些新功能、增强功能和常规的错误修复,推荐大家使用。...如果在部署到Azure App Service后收到启动错误,请尝试通过将AspNetCoreModule属性设置为值“AspNetCoreModule” 来配置项目以使用现有版本的ANCM ,例如:

    3.4K40
    领券