簡體   English   中英

將位圖上傳到Ruby Rails服務器

[英]Upload Bitmap to Ruby Rails server

我需要發送JSON,如下所示:

story = {
            :story => {
              :uuid => "1234567890",
              :title => "Title",
              :subtitle => "Subtitle",
              :private => true,
              :bytes => [
                {
                  :uuid => "1234567890",
                  :timelineDate => "1970-01-01T00:00:00.000+00:00",
                  :caption => "Byte 1"
                  :photo => image
                }
    }

無需發送圖像即可正常工作,但將圖像作為JSON服務器中的位圖返回錯誤

要求我以這種方式發送:

  RestClient client = RestClient.getInstance(this, URL);
                        client.addHeader("Content-Type", "application/json");
                        client.addHeader("Authorization", "Token token=" token);    

//create JSON from Java objects
                        client.setJSONString(json);
                        client.execute(RestClient.RequestMethod.POST);

要將什么類型的圖像發送到Rails服務器?

Rails服務器想要這樣的圖像:

 #<Rack::Test::UploadedFile:0x00000103ea6330
     @content_type="image/jpg",
     @original_filename="photo.jpg",
     @tempfile=
      #<File:/var/folders/1j/8b1khcf57fv1stf87gcylk8c0000gn/T/photo.jpg20140512-3303-1u2nkqo>

試試這個

1)像這樣將位圖轉換為Base64字符串

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();  
bitmap.compress(Bitmap.CompressFormat.PNG, 100, byteArrayOutputStream);
byte[] byteArray = byteArrayOutputStream .toByteArray();

從字節數組編碼base64使用以下方法

String encoded = Base64.encodeToString(byteArray, Base64.DEFAULT);

2)在JSON中設置照片的值

   json.put("photo",encoded);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM