繁体   English   中英

我可以将这个向 Azure 计算机服务发送的 C# http POST 请求转换为 JavaScript 吗?

[英]Can I transform this C# http POST request to Azure Computer Service to JavaScript?

我正在尝试将一些 C# 转换为 JavaScript,因为我正在构建一个 JavaScript 应用程序来执行计算机视觉!

C#“快速入门”在这里, https://docs.microsoft.com/nb-no/azure/cognitive-services/Computer-vision/QuickStarts/CSharp-analyze

我想对端点做的是通过 HTTP POST 向它发送图像。

到目前为止我的代码是:

  <form enctype="multipart/form-data">
    <input name="file" type="file" />
    <input type="button" value="Upload" />
  </form>

  <script src="https://code.jquery.com/jquery-3.4.1.min.js"
    integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>

  <script>
    $(function () {

    });

    $(':button').on('click', function () {

      var uriBase = "https://westcentralus.api.cognitive.microsoft.com/vision/v1.0";
      var authorizationToken = "-";
      var requestParameters = "visualFeatures=Categories,Description,Color";

      var computerVisionEndpoint = uriBase + "?" + requestParameters;

      $.ajax({
        url: computerVisionEndpoint,
        type: 'POST',

        beforeSend: function (request) {
          request.setRequestHeader("Content-Type", "application/octet-stream");
          request.setRequestHeader("Ocp-Apim-Subscription-Key", authorizationToken);
        },

        data: new FormData($('form')[0]),
      }).done(function (data) {
        console.log("DONE!");
        debugger;
      }).fail(function (xhr, status, error) {
        console.log("FAIL!");
        debugger;
      });
    });

  </script>

这里的问题是我收到错误“jquery-3.4.1.min.js:2 Uncaught TypeError: Illegal invocation”。

您必须将processData: false添加到您的 ajax 请求中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM