如何使用rest api上传Xamarin表单中的图像文件。大图有问题

时间:2019-05-16 16:35:46

标签: forms image xamarin upload

我尝试过,上传大于570 kb的图像时遇到问题。此问题存在于Android和PHP rest api的Xamarin Forms中。我分别测试了其余的api,使用postman上传2mb文件没有问题。 还尝试通过延迟一些各种方式。我正在使用cross.media插件捕获图像。然后导航到另一个页面进行上传。我等待一段时间,然后单击按钮进行上传。我无法确定问题出在哪里。

System.IO.Stream fileStream = System.IO.File.Open(file, FileMode.Open);
byte[] data = ReadFully(fileStream);
fileStream.Close();
MultipartFormDataContent multi = new MultipartFormDataContent();
ByteArrayContent imageStream = new ByteArrayContent(data);
StringContent SequenceID = new StringContent(osequence);
imageStream.Headers.ContentType = new MediaTypeHeaderValue("image/jpg");
imageStream.Headers.ContentDisposition = new           ContentDispositionHeaderValue("attachment")
{
 FileName = osequence, // "screenshot.jpg",   // generate this and send 
 Name = "avatar",
 };
 multi.Add(imageStream);
 alertLabel.Text = "Uploading Now";
 var response = await App.client.PostAsync(url, multi);
 string responsestr = response.Content.ReadAsStringAsync().Result;
 var retresponse = new retResponse();
 bool uploadSuccess = false;

我已经制作了其余的api来发送对错误的响应,并在下面的警报框中显示相同的内容

if (responsestr != "") alertLabel.Text = responsestr.ToString();
 else alertLabel.Text = alertLabel.Text + " After Upload Command ";
    }
    catch (Exception e)
    {

    }

} // private void upload(MediaFile mediaFile)

我得到的错误是没有发送文件

1 个答案:

答案 0 :(得分:0)

请忽略上述问题。该问题已通过更改PHP.ini最大上传文件大小来解决。设备中的文件大小约为500-700 KB。不知道上传时如何达到1.99和2 mb。增加最大文件大小解决了该问题。