Shi*_*Tio 5 c# web-services xamarin xamarin.forms visual-studio-2017
基于此视频https://www.youtube.com/watch?v=IVvJX4CoLUY我添加了使用 System.Web; 使用 System.Web.Http; 但我仍然得到 apicontroller 找不到的错误状态,等等,下图是我面临的错误:
下面是我的代码:
using System;
using System.Linq;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
using System.Collections.Generic;
namespace UploadToServer.Server.Controllers
{
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";
}
}
Run Code Online (Sandbox Code Playgroud)
}
任何人都可以分享我的想法吗?
您的问题与 Xamarin.Forms 无关,而是与 WEB.API 有关。您的 Xamarin.Forms 项目不能也不应该包含任何 WEB.Api 控制器。您的服务器端代码应该位于单独的项目中。最简单的方法是使用特定模板创建一个单独的项目。
幸运的是,微软有一个非常容易遵循的指南:
https ://learn.microsoft.com/en-us/aspnet/web-api/overview/getting-started-with-aspnet-web-api/tutorial-your-first-网络API
不过,我建议您改用 Asp.NET Core: https:
//learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api