клиент на андроиде передает multipart/form-data данные серверу на c#
строковые данные извлекаются без проблем, а вот файлы разобрать не могу
android использует OkHttp3
android
final MediaType MEDIA_TYPE_JPEG = MediaType.parse("image/jpeg");
MultipartBody.Builder builder=new MultipartBody.Builder()
.setType(MultipartBody.FORM);
builder.addFormDataPart("stringname","stringstring");
for(int i=0;i<imageUris.size();i++){
File file=new File(imageUris.get(i).toString());
builder.addFormDataPart("uploadfiles[]",file.getName(),RequestBody.create(MEDIA_TYPE_JPEG,file));
}
RequestBody requestBody=builder.build();
Request request=new Request.Builder()
.url(Values.urlport)
.post(requestBody)
.build();
OkHttpClient client=new OkHttpClient.Builder().build();
Call call = client.newCall(request);
call.enqueue(new okhttp3.Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, okhttp3.Response response) throws IOException {
}
});
C#
while (isListening){
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;
if (request.HttpMethod == "POST"){
Stream postdata = request.InputStream;
Encoding encoding = request.ContentEncoding;
string contenttype = request.ContentType;
//это способ извлечения текстовых полей, работает
StreamReader reader = new StreamReader(postdata, encoding);
string txt = Uri.UnescapeDataString(reader.ReadToEnd());
}
}
как извлечь несколько файлов из request.InputStream ?
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Необходимо понять находится ли курсор мыши на данный момент в форме, как лучше всего это сделать?