【发布时间】:2014-07-14 17:34:53
【问题描述】:
我尝试使用 web api 上传文件,并按照网站中的示例进行操作:
http://www.strathweb.com/2012/08/a-guide-to-asynchronous-file-uploads-in-asp-net-web-api-rtm/
它很好用......但如果文件存在,我不想覆盖该文件。基本上,如果文件已经存在,我想用时间戳保存文件。
有什么想法吗?
谢谢
在我发布我想出的问题后几分钟。这是答案,很简单......我只是有一个愚蠢的时刻。
public class CustomMultipartFormDataStreamProvider : MultipartFormDataStreamProvider
{
private readonly string _rootDirectory = 'filesRoot';
public CustomMultipartFormDataStreamProvider(string path) : base(path)
{
}
public override string GetLocalFileName(HttpContentHeaders headers)
{
var filename = headers.ContentDisposition.FileName.Replace("\"", string.Empty);
if (File.Exists(_rootDirectory + filename))
{
var fName = Path.GetFileNameWithoutExtension(_rootDirectory + filename);
var extension = Path.GetExtension(_rootDirectory + filename);
return fName + '_' + DateTime.Now.Ticks + extension;
}
else
return filename;
}
}
【问题讨论】:
-
我正要添加代码,但看起来你明白了。
标签: .net asp.net-web-api2