将文件上传到MVC C#中的虚拟目录

时间:2017-04-27 17:08:15

标签: c# file-upload virtual-directory

我需要将文件上传并保存到虚拟目录。 我的代码是

private void SaveFile(string fileCategory, long freelancerId)
{
    if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0)
    {
        var file = Request.Files[0];

        if (file != null && file.ContentLength > 0)
        {
            var fileExtension = Path.GetExtension(file.FileName);
            var fileName = file.FileName;
            string virtualDir = string.Format("http://localhost:54697/Freelancers/{0}/{1}", freelancerId, fileCategory);
            var filePath = Path.Combine(Server.MapPath(dir), fileName);
            var directoryToSaveFile = Server.MapPath(virtualDir );
            if (!Directory.Exists(directoryToSaveFile))
            {
                Directory.CreateDirectory(directoryToSaveFile);
            }
            using (FileStream fileToSave = new FileStream(virtualDir , FileMode.Create))
            {
                file.InputStream.CopyTo(fileToSave);
            }
        }
    }
}

但它不起作用。 所以任何人都可以告诉我如何做到这一点。

0 个答案:

没有答案