2015-11-21 4 views
0

Я пытаюсь отправить изображение в API распознавания изображений под названием Cloudsight. Я получил его работу с использованием URL-адреса, и теперь я пытаюсь получить его для отправки локального изображения. Дело в том, что он не может требовать какого-либо взаимодействия с пользователем, поскольку все это должно произойти автоматически. Ответы, которые я видел, используют FormData, но поскольку это не может требовать взаимодействия с пользователем, я не думаю, что смогу его использовать. (Если нет способа использовать его для загрузки что-то автоматически.) Код в настоящее время:Загрузка изображения Javascript с использованием ajax без взаимодействия с пользователем

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>

Все, что мне нужно что-то, чтобы послать локальный файл; как загрузить изображение без участия пользователя?

+3

К счастью, ни один браузер не позволит вам писать код, который принимает данные от компьютера пользователя и загрузить его где-то без их ведома –

+0

Имеет смысл, думать об этом ... нет обходной или что-нибудь тогда? Я делаю это на Pi; есть ли способ заставить Pi щелкнуть и выбрать файл автоматически? – teamshortcut

+0

Вы пытаетесь автоматически отправить файл с вашего собственного сервера в CloudSight? –

ответ

0

Технически вы можете сделать

netscape.security.PrivilegeManager.enablePrivilege ('UniversalBrowserWrite'); в браузере, совместимом с netscape (Firefox, Mozilla, Netscape), и он попросит пользователя * разрешить или запретить доступ к файловой системе, но это не переносимо.

* один раз в браузере processQ

+0

'UniversalBrowserWrite' - звучит неправильно –

Смежные вопросы