Javascript使用ajax上传图像,无需用户交互

时间:2015-11-21 08:25:41

标签: javascript jquery ajax cloudsight

我正在尝试将图像发送到名为Cloudsight的图像识别API。我已经使用URL工作了,我现在正试图让它发送本地图像。问题是,它不需要任何用户交互,因为它必须自动发生。我见过的答案使用FormData,但由于它不能要求用户互动,我不认为我可以使用它。 (除非有一种方法可以使用它自动上传内容。)目前的代码是:



var token; //Variable for use later

//First AJAX request.
$.ajax({
  method: "POST",
  url: "https://api.cloudsightapi.com/image_requests",
  beforeSend: function(xhr) { // Authorizes the request.
    xhr.setRequestHeader("Authorization",
      "CloudSight [key]");
  },
  data: { // The data to send.
    "image_request[image]": //the image needs to go here,
    "image_request[locale]": "en-US"
  },
  success: function(msg) { // What should happen if succesful.
    console.log("It worked! :D Good POST request.");
    console.log(msg);

    token = msg.token; // Assigns the token the POST request returns to the token variable.

    get(); // Calls the function containing the GET request.
  },
  error: function(msg) { // What should happen if not succesful.
    console.log("Sorry...");
    console.log(msg);
  }
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

我需要的只是发送本地文件;如何在没有用户交互的情况下上传图片?

1 个答案:

答案 0 :(得分:0)

从技术上讲,你可以做到

netscape.security.PrivilegeManager.enablePrivilege(&#39; UniversalBrowserWrite&#39); 在兼容netscape的浏览器(Firefox,Mozilla,Netscape)中,它会询问用户*是否允许文件系统访问,但这不是可移植的。

*每个浏览器进程一次*