【问题标题】:.net Web Api 2 File Upload.net Web Api 2 文件上传
【发布时间】: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


【解决方案1】:

使用File.Exisits 测试文件是否已经存在以及是否使用DateTime.Now.Ticks 附加时间戳

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 2019-10-29
    • 2017-12-04
    • 1970-01-01
    相关资源
    最近更新 更多