点击上传按钮时,我无法显示文件路径

时间:2019-12-14 16:24:09

标签: c# asp.net xamarin.forms

我遵循了视频教程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";
    }
}

请帮助我,我该如何解决?

0 个答案:

没有答案