Что такое ByteArrayEntity и эквивалент в JavaScript

Я пробовал прочитать всю документацию, которую я могу найти по этому вопросу, и я все еще смущен тем, что это на самом деле и как это будет получено.

Я пытаюсь воссоздать соединение api (изначально написанное в java) в javascript. Java отправляет изображение как ***************:

HttpPost postRequest = new HttpPost(requestUrl);
log("Request url: " + requestUrl);

HttpParams params = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params, 30000);
postRequest.setParams(params);

HttpEntity entity = new ***************(photo);
postRequest.setEntity(entity);

Header header = new BasicHeader("Content-Type", "image/jpeg");
postRequest.addHeader(header);
header = new BasicHeader("Accept", "application/json");
postRequest.addHeader(header);

Как я могу сделать то же самое в javascript, чтобы он был распознан без каких-либо дальнейших операций над ним?

Очевидно, что я не могу сделать то же самое в javascript, я могу отправить его как строку bytearray, т.е. "[42,34,24,...]", но предположительно они должны были ожидать, что с другой стороны и так знать, чтобы преобразовать это обратно в массив?

Заранее спасибо.

2 ответа

Решено: Спасибо, в конце концов обнаружил, что единственный способ, которым это было распознано как изображение, - отправить его как ********** внутри arraybuffer. На данный момент приемное программное обеспечение не соответствует этому с предыдущим изображением, поэтому я не уверен, что они ожидают этого другим способом, но httprequest распознается как действительное изображение.

var abufimg = new ArrayBuffer(array.length);
var vu8img = new **********(abufimg);
for(var y=0; y


Вероятно, массив байтов кодируется базой 64. Вы можете префикс его так же, как на вашем сервере, и браузер увидит его как данные изображения.

data:image/jpeg;base64,BBBBBB...

Где BBBBBB... - ваш массив байтов

licensed under cc by-sa 3.0 with attribution.