public static void Register(HttpConfiguration config) { // Web API 設定和服務 // Web API 路由 config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.Add(MultipartMediaTypeFormatter.Create()); }
public async Task TestMethod1() { var multipartContent = new MultipartFormDataContent(); multipartContent.Add(IdContent()); multipartContent.Add(NameContent()); multipartContent.Add(FileContent()); var result = await multipartContent.ReadAsStringAsync(); var formatter = new MultipartMediaTypeFormatter(); var stream = await multipartContent.ReadAsStreamAsync(); var obj = await formatter.ReadFromStreamAsync(typeof(TestModel), stream, multipartContent, null) as TestModel; Assert.IsNotNull(obj); Assert.AreEqual(123, obj.Id); Assert.AreEqual("YC", obj.Name); Assert.AreEqual("text/plain", obj.File?.ContentType); }