需要上传网页录音文件到服务器,写的艰辛,终于好了,C#端的代码失败的留作纪念,JS端也有失败的案例,就不放上来了

JavaScript:

var form = new FormData();

form.enctype = "multipart/form-data";

form.append("blob", blob, "myvoice");

var xhr = new XMLHttpRequest();

xhr.open("POST", "/Home/SRTest");

xhr.send(form);

C#

  [HttpPost]
        public JsonResult SRTest(FormCollection formCollection)
        {
            //other way to get formdata
   // 方法1 失败
            //var httpRequest = System.Web.HttpContext.Current.Request;
            //string blob = httpRequest.Form["blob"];
    // 方法1.1 失败
            //string blob1 = httpRequest.Form["myvoice"];

    // 方法2失败
            //string blob2 = formCollection["blob"];

    // 方法2.1失败

//string blob21 = formCollection["myvoice"];

    // 方法3失败
            //HttpPostedFileBase blob3 = Request.Files["blob"];

    // 方法3.1失败

//HttpPostedFileBase blob31 = Request.Files["myvoice"];

    // 方法4失败
            //string blob4 = Request.Form["blob"];
       // 方法4.1失败
            //string blob41 = Request.Form["myvoice"];
 
   //最终成功方法
            HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
            HttpPostedFile file = files[0];
 
功能完成了很开心

使用JavaScript的XMLHttpRequest+fromdata 传递blob到后端的更多相关文章

  1. 【JavaScript】XMLHttpRequest Level2使用指南

    XMLHttpRequest是一个浏览器接口,使得Javascript可以进行HTTP(S)通信. 最早,微软在IE 5引进了这个接口.因为它太有用,其他浏览器也模仿部署了,ajax操作因此得以诞生. ...

  2. JavaScript使用XMLHttpRequest 發送GET/Post 請求

    <!DOCTYPE HTML> <html> <head> <title>Demo</title> <script type=&quo ...

  3. (转)如何在JavaScript与ActiveX之间传递数据3

    本文研究如何在JS等脚本语言与ActiveX控件之间通信,如何传递各种类型的参数,以及COM的IDispatch接口.使用类似的方法,可以推广到其他所有脚本型语言,如LUA,AutoCad等.本文将研 ...

  4. (转)如何在JavaScript与ActiveX之间传递数据2

    本文研究如何在JS等脚本语言与ActiveX控件之间通信,如何传递各种类型的参数,以及COM的IDispatch接口.使用类似的方法,可以推广到其他所有脚本型语言,如LUA,AutoCad等.本文将研 ...

  5. java变量和javascript变量之间的传递

    java代码是运行在服务器上的,返回的值只是静态的存在于页面,而javascript是脚本语言,是运行在客户端的!它们是两种完全不同的语言,变量不能直接进行交换,但是通过一定的方式,变量可以传递. j ...

  6. js,JavaScript,a标签onclick传递参数不对,A标签调用js函数写法总结

    错误示例: <a href="javascript:waterLineEdit(${goods.goods_id})" >修改 </a> <!-- 浏 ...

  7. 使用JavaScript的XMLHttpRequest发送POST、GET请求以及接收返回值

    使用XMLHttpRequest对象分为4部完成: 1.创建XMLHttpRequest组建 2.设置回调函数 3.初始化XMLHttpRequest组建 4.发送请求 实例代码: [javascri ...

  8. javascript实现浏览器窗口传递参数

    a.html <html> <head> <title>主页面</title> <script language="javascript ...

  9. (转) 如何在JavaScript与ActiveX之间传递数据1

    本文研究如何在JS等脚本语言与ActiveX控件之间通信,如何传递各种类型的参数,以及COM的IDispatch接口.使用类似的方法,可以推广到其他所有脚本型语言,如LUA,AutoCad等.本文将研 ...

随机推荐

  1. 了解Kubernetes主体架构(二十八)

    前言 Kubernetes的教程一直在编写,目前已经初步完成了以下内容: 1)基础理论 2)使用Minikube部署本地Kubernetes集群 3)使用Kubeadm创建集群 接下来还会逐步完善本教 ...

  2. python 如何在某.py文件中调用其他.py内的函数

    A.py的文件需要调用B.py文件内的test函数 同一目录下: A.py #!/usr/bin/env python # -*- coding: utf- -*- def test(): ''' 测 ...

  3. logrotate切割nginx日志

    1 配置 使用系统自带的logrorate来切个nginx日志,位于/usr/sbin/logrotate 假设服务器上有两个网站的nginx配置分别如下: 去除其它配置信息,只保留了日志相关 A网站 ...

  4. java内存管理机制剖析(一)

    最近利用工作之余学习研究了一下java的内存管理机制,在这里记录总结一下. 1-1.java内存区域 当java程序运行时,java虚拟机会将内存划分为若干个不同的数据区域,这些内存区域创建和销毁的时 ...

  5. 安装R和Rstudio后,Rstudio出现空白和fatal error问题

    解决方法: 1.一定要以管理员方式启动Rstudio 2.只能安装一个R版本,之前安装的其他版本需要卸载干净 3.R和Rstudio需要安装在同一目录下

  6. 从零开始实现放置游戏(十)——实现战斗挂机(1)hessian服务端搭建

    前面实现RMS系统时,我们让其直接访问底层数据库.后面我们在idlewow-game模块实现游戏逻辑时,将不再直接访问底层数据,而是通过hessian服务暴露接口给表现层. 本章,我们先把hessia ...

  7. Java实现异步调用

    一.创建线程 @Test public void test0() throws Exception { System.out.println("main函数开始执行"); Thre ...

  8. .NET Core CSharp初级篇 1-1

    .NET Core CSharp初级篇 1-1 本节内容是对于C#基础类型的存储方式以及C#基础类型的理论介绍 基础数据类型介绍 例如以下这句话:"张三是一名程序员,今年15岁重50.3kg ...

  9. 1.Actor编写-ESGrain与ESRepGrain

    ESGrain 生命周期 Ray中ESGrain继承自Grain扩展了Grain的生命周期.Grain的生命周期参见文档附录:1-Grain生命周期-译注.md ESGrain重写了Grain的OnA ...

  10. 《ElasticSearch6.x实战教程》之简单的API

    第三章-简单的API 万丈高楼平地起 ES提供了多种操作数据的方式,其中较为常见的方式就是RESTful风格的API. 简单的体验 利用Postman发起HTTP请求(当然也可以在命令行中使用curl ...