当前位置: 首页 > 面试题库 >

使用jQuery Ajax将文件发送到C#中的Web服务(asmx)

韦安怡
2023-03-14
问题内容

我正在通过以下方法使用Web服务:

        $.ajax({
            type: 'POST',
            url: 'page.asmx/method',
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            data: '{}'
        });

发送json字符串,它可以工作,但是如果我尝试使用FormData追加输入的内容并将其传递给数据值,我将得到500响应。我该怎么办?


问题答案:

您需要序列化数据…。

  var data = new FormData();

  var files = $("#YOURUPLOADCTRLID").get(0).files;

  // Add the uploaded image content to the form data collection
  if (files.length > 0) {
       data.append("UploadedFile", files[0]);
  }

  // Make Ajax request with the contentType = false, and procesDate = false
  var ajaxRequest = $.ajax({
       type: "POST",
       url: "/api/fileupload/uploadfile",
       contentType: false,
       processData: false,
       data: data
       });

在控制器内部,您可以拥有类似

if (HttpContext.Current.Request.Files.AllKeys.Any())
{
   // Get the uploaded image from the Files collection
   var httpPostedFile = HttpContext.Current.Request.Files["UploadedFile"];

   if (httpPostedFile != null)
   {
   // Validate the uploaded image(optional)

   // Get the complete file path
       var fileSavePath = Path.Combine(HttpContext.Current.Server.MapPath("~/UploadedFiles"), httpPostedFile.FileName);

    // Save the uploaded file to "UploadedFiles" folder
    httpPostedFile.SaveAs(fileSavePath);
}
 }

希望能帮助到你…



 类似资料:
  • 问题内容: 我对Web服务世界还很陌生,但是具有相关知识。 我需要实现将日志消息发送到Web服务而不是使用 Web Service附加程序 发送到文件的功能。 我是通过在 Google 上搜索该类别之一来阅读的,但我无法验证这一点。 问题答案: 当您扩展该类时,我假设您应该使用应重写的方法来初始化您的webservice类。我已经编写了DatabaseAppender和JmsAppender lo

  • 问题内容: 我正在使用arzoo的Flight API。服务器必须在简单的POST请求中接收发布的数据。为此,我使用了PHP cURL。API文档中明确提到数据应以以下格式发送: 我在变量$ xml中使用了上面的代码。我的PHP cURL代码如下: 我没有得到任何回应。我已经与API Provider讨论过同样的问题,但是他们在日志中发现了空请求。我到底想念什么吗?您的答复将不胜感激。谢谢。 问题

  • 问题内容: 由于我是Web服务的新手,请您告诉我问题的答案。我的问题是 我想实现一个Web服务,当客户端调用此Web服务时,该服务会向客户端发送pdf文件。 请有人帮我提供一段不错的代码或解释。 现在可以请一个人解决我的错误。 12-23 09:42:48.429:调试/安装(32):DexInv:-开始’/data/app/vmdl33143.tmp’— 12-23 09:42:51.708:调

  • 本文向大家介绍C#使用windows服务发送邮件,包括了C#使用windows服务发送邮件的使用技巧和注意事项,需要的朋友参考一下 最近做了一个使用 C# 写了一个发送邮件的windows 服务,在这里记录一下。 首先使用 Visual Studio 2015 创建一个 windows 服务项目。 然后在设计器上面右击添加安装程序。如下图。 安装好后,选择安装程序设计界面,选择服务和安装程序右击选

  • 问题内容: 我是Android编程的新手,我的任务是将图像和文本数据发送到Web服务器(本地主机),但是我尝试了很多代码来完成这项工作 他们都不会工作。每当我尝试执行代码时,我的应用就会崩溃,因此我决定调试代码,然后查看问题出在哪里。然后我发现 每当找到 MultipartEntity时 ,代码就会崩溃..我真的不知道为什么.. 代码像这样 我已将Logs包含到代码中,以查看代码在执行过程中的停止

  • 问题内容: 如何使用AngularJS发送POST请求?JSON部分是必需的,但文件不是必需的。我已经根据其他博客文章尝试过此方法,但是它不起作用。我收到一个 错误的请求400错误 。 200点正确答案将被添加 问题答案: 我已经用一个简单的Spring后端测试了您的代码,并且工作正常: 我已将您的客户端代码与angular v1.1.5一起使用: 请求看起来像这样(从Chrome控制台的“网络”