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);
}
}
沒有留言:
張貼留言