[英]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.