BlackBerry Контакты Фото - PullRequest
1 голос
/ 19 мая 2010

В настоящее время я работаю над приложением с именем BlackBerry Contacts Sync , и я застрял на этом этапе, как синхронизировать изображение контакта. Как изображения могут храниться в базе данных (MySQL) и как их получить?

Ответы [ 3 ]

0 голосов
/ 20 мая 2010

Если вы хотите сохранить ваши изображения в базе данных, а не просто путь для ссылки на изображение, столбец, в котором будет храниться ваше изображение, должен иметь тип BLOB.

CREATE TABLE upload (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(30) NOT NULL,
    content LONGBLOB NOT NULL,
    PRIMARY KEY(id)
);

Из вашей программы BlackBerry (предупреждение, не проверено):

//First param is a Bitmap, second is quality
JPEGEncodedImage encodedImage = JPEGEncodedImage.encode(image, 100);
byte imageBytes[]=encodedImage.getData();

//The HTTP connection stuff
HttpConnection conn = (HttpConnection) Connector.open(SERVER_URL, Connector.READ_WRITE);
conn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_TYPE, HttpProtocolConstants.CONTENT_TYPE_MULTIPART_FORM_DATA);
conn.setRequestMethod(HttpConnection.POST);
conn.setRequestProperty(HttpProtocolConstants.HEADER_CONTENT_LENGTH, String.valueOf(imageBytes.length));
//Change this part to what your server side code expects
String contDisp="Content-Disposition:form-data; uploadedimage=YOUR_IMAGE_NAME;filename=\"Image.jpg\"";
String contEnc = "Content-Transfer-Encoding: binary";
String type="Content-Type:image/jpeg";

OutputStream out= conn.openOutputStream();
out.write(imageBytes);
out.flush();
out.close();

Таким образом, в основном вы используете HttpConnection , чтобы настроить заголовки для запроса POST, с данными составной формы в качестве типа содержимого. Существуют и другие заголовки, которые могут понадобиться, чтобы точно знать, что вам нужно (не относится к BlackBerry), проверьте спецификацию протокола HTTP / 1.1 .

Способ хранения изображения в базе данных будет зависеть от реализации на сервере. Это может быть что угодно из PHP, ASP, JSP или любой серверной технологии, которая позволяет вам общаться с вашим экземпляром MySQL.

0 голосов
/ 20 мая 2010

Вы можете сохранить изображения в поле большого двоичного объекта после того, как закодируете их в base64.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...