asp.net 中出现<input type="file"/> 控件中获取不到全路径

今天偶然发现<input type="file"/> 无法获取完全路径,获取到的只是文件名  在网上搜了半天也没有个真正能解决的帖子.....

研究了一下,当提交时所有信息都保存在Request中Request.Files["upd_file"]可以保存客户端所有以上载的文件信息,但是在firefox中还是文件名,发现还有个叫PhysicalPath

的属性(微软要闹哪样非要与众不同?%>_<%)这个是可以获取到全路径

View Code
 1 string file = string.empty;
 2 
 3 file = Request.PhysicalPath;
 4             if (Request.Files["upd_file"].FileName.IndexOf('\\') < 0)
 5             {
 6                 file = Request.PhysicalPath;
 7             }
 8             else
 9             {
10                 file = Request.Files["upd_file"].FileName;
11             }

 

转载于:https://www.cnblogs.com/wudi-qq714520742/archive/2012/11/10/2763838.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.Net Core MVC上传文件,可以使用以下步骤: 1. 在视图添加一个表单,包含一个文件输入控件: ```html <form method="post" enctype="multipart/form-data"> <div class="form-group"> <label for="file">选择文件:</label> <input type="file" name="file" id="file" class="form-control-file" /> </div> <button type="submit" class="btn btn-primary">上传</button> </form> ``` 2. 在控制器添加一个动作方法,用于接收上传的文件: ```csharp [HttpPost] public async Task<IActionResult> Upload(IFormFile file) { if (file == null || file.Length == 0) { return BadRequest("请选择文件"); } using (var stream = new MemoryStream()) { await file.CopyToAsync(stream); // 处理上传的文件 // ... return Ok("上传成功"); } } ``` 3. 在Startup.cs文件的ConfigureServices方法添加文件上传服务: ```csharp services.AddMvc(options => { options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()); // 添加防伪标记,防止跨站攻击 }).AddRazorPagesOptions(options => { options.Conventions.AddPageRoute("/Index", ""); }) .AddNewtonsoftJson(); // 添加NewtonsoftJson,用于序列化JSON services.AddControllersWithViews(); // 添加控制器和视图 services.AddRazorPages(); // 添加Razor页面 services.AddAntiforgery(); // 添加防伪标记,防止跨站攻击 services.Configure<IISServerOptions>(options => { options.AllowSynchronousIO = true; // 允许同步IO }); services.Configure<FormOptions>(options => { options.MultipartBodyLengthLimit = long.MaxValue; // 设置允许上传的最大文件大小 }); ``` 以上就是在ASP.Net Core MVC上传文件的步骤。需要注意的是,要添加防伪标记,防止跨站攻击;要设置允许上传的最大文件大小。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值