0
我需要使用api將圖片上傳到服務器。 現在我使用System.Net.Http;
Xamarin:將圖片上傳到服務器
byte[] lFileBytes= DependencyService.Get<IFileHelper>().ReadAllBytes(ImagePath);
ByteArrayContent lFileContent = new ByteArrayContent(lFileBytes,0,lFileBytes.Length);
lFileContent.Headers.ContentDisposition = ContentDispositionHeaderValue.Parse("form-data");
lFileContent.Headers.ContentType=new MediaTypeHeaderValue("image/jpg");
lFileContent.Headers.ContentDisposition.Parameters.Add(new NameValueHeaderValue("name","file"));
lFileContent.Headers.ContentDisposition.Parameters.Add(new NameValueHeaderValue("filename", "9.jpg"));
lFileContent.Headers.ContentLength= lFileBytes.Length;
lContent.Add(lFileContent);
public byte[] ReadAllBytes(string path) {
using (var streamReader = new StreamReader(path))
{
using (var memoryStream = new MemoryStream())
{
streamReader.BaseStream.CopyTo(memoryStream);
return memoryStream.ToArray();
}
}
}
發送請求後,我有錯誤Type file is invalid
我想問題byte[] ReadAllBytes(string path)
對於請求我可以使用流或字節[] 請幫助 UPDATE
lRequestResponse = await lHttpClient.PostAsync("URL", lContent);
嘗試在'MemoryStream'塊的第一行設置'streamReader.Position = 0'。它可能是 – user1
@ user1,streamReader沒有Position屬性,也許是memoryStream?但它不工作; – KreminT
你的上傳代碼在哪裏?你用什麼方法?你也有你的服務器方法的樣本?它從小提琴手工作? –