首页
学习
活动
专区
工具
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发布到服务器了。请注意,以上代码示例仅为演示用途,实际应用中可能需要根据具体需求进行适当的修改和优化。

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

相关·内容

如何使用vsasp.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上了。

33420

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、MVCSignalR中支持键入服务 Blazor Blazor Web App模板更新 从额外的程序集中发现用于静态服务器呈现的组件...如果同时选择了WebAssemblyServer渲染模式,那么模板将使用自动渲染模式。自动渲染模式将在下载.NET运行时应用程序包浏览器时首先使用Server模式。...一旦运行时下载完成,自动模式切换开始使用WebAssembly渲染模式。 默认情况下,Blazor Web App模板将在单个项目中启用静态交互式服务器呈现。...服务器项目中使用客户端组件的页面。这个解决方案是不必要的。可以在将其指令复制客户端项目后,服务器项目中的组件删除。然后在Program.cs中调用Counter以便可以发现该组件。

27540

国内 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发布,JITGC进一步改进 如何让我们的PHP在Jexus中跑起来 Xamarin微软发起.NET基金会 mono for android系列学习过程系列教程(1) mono...项目的组成说明 Harries-高性能分布式Asp.net通信框架 CentOS7 + mono +Jexus 环境的搭建 VS2013中的MVC5模板部署mono上的艰辛历程 如何利用mono把.net...Mono,JIT,IOS 深入浅出聊优化:从Draw CallsGC OS X 安装Jexus作为ASP.NET服务器 linux下mono播放PCM音频 使用C#给Linux写Shell脚本 Mono

11.2K60

.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 ExplorerASP.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.1K10

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.4K100

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.2K50

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应用程序。...所以我们先来学习讨论,MVCRazor Pages之间的区别。以及什么时候更适合使用RazorPage的场景。 在此之前,我们先了解下,学习本课程需要提前掌握的知识内容及我们的机器配置。...课程前提条件 要继续学习本课程,您需要具备以下方面的基础知识 ASP.NET Core 基础 课程地址 C# HTMLCSS 了解以下ASP.NET Core概念非常有帮助。

1.1K20

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 上的已准备好应用程序文件夹。

3.9K10

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项目中了。

81010

微软发布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

如何在ASP.NetCore增加文件上传大小

但是,当您尝试上传大型文件 (> 30MB) 时,需要增加默认允许的最大限制。在这篇简短的文章中,我们将了解如何在.netcore 应用程序中增加文件 ASP.NET 大小以及控制此限制的各种选项。...换句话说,您可以在 IIS、Ngnix Apache Web 服务器上托管应用程序。...1、托管在 IIS 上(有凯斯特雷尔或没有凯斯特雷尔) 2、托管在 Kestrel 上(作为独立或与 Ngnix Apache 服务器一起托管) 2 在 IIS 上 还能记得在 ASP.NET 中,...它在发布应用程序时创建。但是,您也可以使用以下代码将其手工添加(如果没有)应用程序的根目录maxAllowedContentLengthweb.configweb.config `<?...3.1 MVC 解决方案 如果你想改动一个特定的 MVC 接口或控制器的最大请求体大小限制,你可以使用属性。

4.8K10

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

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

1.3K20
领券