如何将上传的图像存储到数组中Rails&&角度&& JS

时间:2016-11-11 21:53:12

标签: javascript ruby-on-rails angularjs azure

我正在使用Rails和Javascript,我有一个Angular Front-end。我还是比较新的发展;开始掌握它,但我不知道如何在我的(PGsql)服务器中定位图像。如果我将所有提交的照片都推送到阵列中,是否会让我更容易定位图像?

我正在测试视觉API;我想找到一种方法来上传图像并将它们存储在一个数组中,这样我就可以使用提交的照片向外部API(Azure / AWS Vision API等)发送POST请求。 p>

我希望,这样可以更轻松地在提交时动态发送请求;除了在视图中呈现JSON响应之外。

表单部分

<%= simple_form_for @image, :class => "form_id", :html => {:multipart
=> true} do |f| %>  <%= f.input :title, label: "Name of Photo" %>   <%= f.input :image, as: :file, :onChange => "alertMe(this.files[0])",
label: "Submit Image to Render Tags!" %>    <%= f.button :submit,
:onsubmit => "imgPush();", :onclick => "return sendFileRequest();",
:class => "form_id" %>   <% end %>

App.js

$scope.alertMe = function () {

var params = {
    // Request parameters
    "visualFeatures": "Categories,Tags",
    "details": "Celebrities",
};



$.ajax({
         url: "https://api.projectoxford.ai/vision/v1.0/analyze?" + $.param(params),
         beforeSend: function(xhrObj){
             // Request headers
             xhrObj.setRequestHeader("Content-Type","application/json");
             xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","this is my key");
         },
         type: "POST",
         // Request body
         data: "{\"url\":\"https://upload.wikimedia.org/wikipedia/en/1/17/Batman-BenAffleck.jpg\"}"

     })
     .done(function(data) {
         alert("success");

     })
     .fail(function(jqHQR, status) {
         alert("error : " + jqHQR + " status " + status);
     });

 }

1 个答案:

答案 0 :(得分:0)

根据https://dev.projectoxford.ai/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa的说明,API不支持数组中的图片网址或原始数据。

如果要分析图像列表,可以尝试将图像上传到后端服务器,然后生成一个休息调用列表,其中包含针对API的图像内容。

如有任何疑问,请随时告诉我。