Я создаю мобильное приложение j2me, которое может публиковать изображения (в виде байта []) и другие простые данные (строки, целые числа, числа с плавающей запятой и т. Д.) На веб-сайте ASP.net MVC 3.В настоящее время приложение и веб-сайт почти готовы, за исключением части, в которой приложение может публиковать данные изображения на веб-сайте.
Вот модель данных, которую я хотел бы опубликовать на веб-сайте (j2me):
public class DataModel {
private String description = null;
private float latitude = 0;
private float longitude = 0;
private long timestamp = 0;
private String userName = null;
private byte[] imageData = null;
private String contentType = null;
// getters and setters...
}
Это модель, которую ожидает мой веб-сайт (ASP.net MVC3 C #):
public class Model
{
public string Description { get; set; }
public float Latitude { get; set; }
public float Longitude { get; set; }
public long Timestamp { get; set; }
public string UserName { get; set; }
public byte[] Image { get; set; }
}
Это (упрощенный) код, который я использую для отправки данных (j2me):
InputStream in = null;
OutputStream out = null;
// url contains all the simple data
String encodedUrl = UrlEncoder.encodeUrl(url);
this.connection = (HttpConnection)Connector.open(encodedUrl);
byte[] imageData = DataModel.getImageData();
this.connection.setRequestMethod(HttpConnection.POST);
this.connection.setRequestProperty("Content-Length", imageData.length + "");
out = this.connection.openOutputStream();
out.write(imageData);
int responseCode = this.connection.getResponseCode();
if(responseCode != HttpConnection.HTTP_OK) {
throw new IOException("Transmission failed as server responded with response code: " + responseCode);
}
// process response here...
Я нашел некоторые решения в Интернете для обработки почтового запроса из приложения j2me, которое не выполняет то, что я хочу, и это в VB.Но, возможно, там есть какой-то полезный код, который должен быть помещен в событие загрузки страницы:
' the stream will be ASCII encoded'
Dim ascii As ASCIIEncoding = New ASCIIEncoding
'Get ASCII into reg. string here'
strmContent = ascii.GetString(strArr)
Label1.Text = strArr.ToString()
'write the received data to a text file'
Dim FILE_NAME As String = "C:\\NP\\received.txt"
Dim objWriter As New System.IO.StreamWriter(FILE_NAME, True)
objWriter.WriteLine(strmContent)
objWriter.WriteLine()
objWriter.Close()
Я понятия не имею, как я могу получить данные изображения на своем веб-сайте.Какой код мне нужно вставить в действие контроллера, чтобы получить все данные?Нужно ли что-то менять в коде моего приложения?
Я разделяю простые данные от данных изображения.Это даже правильный способ работы здесь?
Большое спасибо!