Issues with MultipartFormDataStreamProvider
submitting files to a web api
File upload using MultipartMemoryStreamProvider
原生的MultipartStreamProvider,其GetLocalFileName()會使用Guid來命名,
若要使用自己的命名方式,需自行實作:
public virtual string GetLocalFileName(HttpContentHeaders headers) { if (headers == null) { throw Error.ArgumentNull("headers"); } return String.Format(CultureInfo.InvariantCulture, "BodyPart_{0}", Guid.NewGuid()); }
A guide to asynchronous file uploads in ASP.NET Web API RTM
Dealing with the frustrations of trying to test the ASP.NET Web API MultipartFormDataStreamProvider.
public class CustomMultipartFormDataStreamProvider : MultipartFormDataStreamProvider { public CustomMultipartFormDataStreamProvider(string path) : base(path) { } public override string GetLocalFileName(System.Net.Http.Headers.HttpContentHeaders headers) { var name = !string.IsNullOrWhiteSpace(headers.ContentDisposition.FileName) ? headers.ContentDisposition.FileName : "NoName"; return name.Replace("\"", string.Empty); } }
沒有留言:
張貼留言