我遵循了视频教程Houssem Dellai的有关将文件从Xamarin应用程序上传到YouTube上的ASP.NET服务器的视频。 这是链接https://www.youtube.com/watch?v=IVvJX4CoLUY
当我单击按钮上传照片时,我的问题仅执行到
var httpResponseMessage = await httpclient.PostAsync(uploadServiceBaseAddress, content);
并且没有显示消息错误,我的代码无法为显示路径文件执行RemotePathFile.Text
这是我的编码
private async void UploadFile_Clicked(object sender, EventArgs e)
{
var content = new MultipartFormDataContent();
content.Add(new StreamContent(_mediaFile.GetStream()),
"\"file\"",
$"\"{_mediaFile.Path}\"");
var httpclient = new HttpClient();
var uploadServiceBaseAddress = "https://192.168.43.172/api/Files/Upload";
var httpResponseMessage = await httpclient.PostAsync(uploadServiceBaseAddress, content);
RemotePathFile.Text = await httpResponseMessage.Content.ReadAsStringAsync();
}
这是我的UploadController
public class UploadsController : ApiController
{
[Route("api/Files/Upload")]
public async Task<string> Post()
{
try
{
var httpRequest = HttpContext.Current.Request;
if (httpRequest.Files.Count > 0)
{
foreach (string file in httpRequest.Files)
{
var postedFile = httpRequest.Files[file];
var fileName = postedFile.FileName.Split('\\').LastOrDefault().Split('/').LastOrDefault();
var filePath = HttpContext.Current.Server.MapPath("~/Uploads/" + fileName);
postedFile.SaveAs(filePath);
return "/Uploads/" + fileName;
}
}
}
catch (Exception exception)
{
return exception.Message;
}
return "no files";
}
}
请帮助我,我该如何解决?