пытаюсь отправить несколько картинок с андроида через http post запрос.
urlport="http://192.168.100.139:1111";
Map<String, Object> params = new HashMap<>();
params.put("testimage", new File(getRealPathFromURI(imageUris.get(0))) );
aQuery
.ajax(urlport,params,JSONObject.class,new AjaxCallback<JSONObject>(){
@Override
public void callback(String url, JSONObject json, AjaxStatus status){
alert("post complete");//это не работает
}
});
C# HTTP Listener
lstnr = new Server();
lstnr.url = "http://" + ipbox.Text;
lstnr.port = portfield.Text;
lstnr.Received += Server_Received_multipart;
lstnr.StartListen();
в классе Server установлен делегат который выполняется в цикле прослушивания. он принимает stream
class Server{
......
public event EventHandler<Stream> Received = delegate { };
......
public void Start(){
try
{
while (isListening){
........
Stream postdata = request.InputStream;
Received(this, postdata);
}
}
catch (Exception e)
{
MessageBox.Show("Start() error: " + e.Message);
}
}
}
private void Server_Received_multipart(object sender, Stream msg)
{
Dispatcher.Invoke((Action)(() =>
{
MessageBox.Show("message received"); //это тоже не работает
}));
}
до этого сделал вариант с принятием строки, изображения в ней были в виде base64. работает нормально, кроме случаев когда несколько картинок размером 3-4 мб и больше, приложению не хватает памяти. решил попробовать multipart. подскажите как доработать
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости