ASP.Net 5 上传文件通过虚拟路径存储

先贴上代码

  [HttpPost]
        public IActionResult ImportTeaching(IFormFile file)
        {
            string root = @"Temp/teachingfile/";
            string phyPayh = evn.MapPath(root);
            if (file != null)
            {
                var parsedContentDisposition = ContentDispositionHeaderValue.Parse(file.ContentDisposition);
                var originalName = parsedContentDisposition.FileName.Replace("\"", "");
                file.SaveAs(phyPayh + originalName);
            }
            else
            {
                ModelState.AddModelError("", "没有选择文件");
                return View();
            }
            return RedirectToAction("Index");
        }

这里必须先获取服务里面的IHostingEnvironment

如下代码

  [FromServices]
        public IHostingEnvironment evn { set; get; }

注意:这个

IHostingEnvironment在启动的时候已经自动注册到服务里面了。可以直接获取

特别注意:

现在的虚拟路径写法以前的mvc5 有所不同 以前 是类似:string root = "~/LiveFile/";

现在是 :string root = "LiveFile/";

我之前按照mvc5的写法试了很多次 都是不通过的。

时间: 2024-12-30 10:40:58

ASP.Net 5 上传文件通过虚拟路径存储的相关文章

asp.net 客户端上传文件全路径获取方法

asp.net  获取客户端上传文件全路径方法: eg:F:\test\1.doc 基于浏览器安全问题,浏览器将屏蔽获取客户端文件全路径的方法,只能获取到文件的文件名,如果需要获取全路径则需要另想其他方法 如下提供两种方法: 方法1:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可. 方法2: function getPath() { //获取file 控件对象 var obj =

ASP.NET MVC上传文件

出处:http://www.cnblogs.com/zhouhb/p/3906714.html 最近参考网络资料,学习了ASP.NET MVC如何上传文件.最基本的,没有用jQuery等技术. 1.定义Model public class TestModel    {        [Display(Name = "标题")]        [Required]        public string Title        {            get;           

asp.net FileUpload上传文件夹并检测所有子文件

1.在FileUpload控件添加一个属性 webkitdirectory=""就可以上传文件夹了 <asp:FileUpload ID="FileUpload1" runat="server" webkitdirectory="" /> 2.检测文件夹下所有子文件 string DirectoryName = FileUpload1.PostedFile.FileName; string path = Serve

ASP.NET Uploadify 上传文件过大报错

Uploadify上传文件原来很早之前用过,没发现什么问题.今天再使用过程中,当文件大于30M的时候就会报错404.查看错误消息提示配置最大上传太小了.需要修改. 记得原来配置上传文件大小在这里:<httpRuntime maxRequestLength="2097100" executionTimeout="3600"/> 配置即可.可是当我这里修改了之后发现还是错误.就想是不是上传控件本身有限制,看到我的有limitSize:30 已经设置了大小,但

ASP.NET总结——上传文件

在利用Html中的File控件上传文件时,如何获得你上传的文件的路径?北大青鸟的视频中告诉我们用: File1.PostedFile.FileName 可是在断点调试中,我就发现了问题. 在火狐浏览器和IETester中,都只显示文件名,而不显示文件的完整路径,获得的FileName也只是文件名.比如我选择的图片的完整路径是"E:\提高班课程实践篇(我)\images\niunanlogo.jpg",但是浏览器中显示的是"niunanlogo.jpg" ,而且调试中

ASP.NET MVC 上传文件

1.首先创建一控制器文件UpFileController.cs: using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc; namespace Mvc4Study.Controllers{ public class UpFileController : Controller { // // GET: /UpFile/ public ActionRes

ASP.net 判断上传文件类型的三种方法

一. 安全性比较低,把文本文件1.txt改成1.jpg照样可以上传,但其实现方法容易理解,实现也简单,所以网上很多还是采取这种方法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 Boolean fileOk = false;           string path = Server.MapPath("~/images

asp.net uploadfile 上传文件,连接已重置问题

修改web.config中的配置 <httpRuntime maxRequestLength="102400" executionTimeout="6000"/> //设置上传文件大小(kb)和响应时间(s) 针对iis7或更高版本另需要在<configuration>标签下添加 <system.webServer> <security> <requestFiltering> <requestLimi

js获取上传文件的绝对路径

在html中    <input type="file" id="importFile" />    <input type="button" onclick="upload()"/> <script>function upload() {    var filename = document.getElementById("importFile").value;