.netcore版上传文件/批量上传拖拽及预览功能的实现方法
这篇文章给大家分享的是有关.net core版上传文件/ 批量上传拖拽及预览功能的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站建设、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的泰山网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
1.导入所需要的包:nuget install bootstrap-fileinput
注意:这里的导包需要在终端导入【需要在wwwroot文件夹下执行nuget命令】如下图
如果发现没有nuget命令,则需要通过apt-get 或者yum 给系统安装nuge包管理工具,这个nuget和vscode中的插件不是一回事
2前台页面编写:
index.cshtml:
@{ ViewData["Title"] = "Home Page"; Layout = null; }
基本上和asp.net mvc下边没有区别,只有一个地方需要特别注意一下,外部的script和css文件的引用文件需要放到wwwroot文件中,而不是项目的根目录下。
预览图:
3.主要的区别 ,后台
代码如下:
public JsonResult UploadFile() { uploadResult result = new uploadResult(); try { var oFile = Request.Form.Files["txt_file"]; Stream sm=oFile.OpenReadStream(); result.fileName = oFile.FileName; if(!Directory.Exists(AppContext.BaseDirectory+"/Image/")) { Directory.CreateDirectory(AppContext.BaseDirectory+"/Image/"); } string filename=AppContext.BaseDirectory+"/Image/" + DateTime.Now.ToString("yyyymmddhhMMssss")+Guid.NewGuid().ToString() + ".png"; FileStream fs=new FileStream(filename,FileMode.Create); byte[] buffer =new byte[sm.Length]; sm.Read(buffer,0,buffer.Length); fs.Write(buffer,0,buffer.Length); fs.Dispose(); } catch(Exception ex) { result.error = ex.Message; } return Json(result); } public class uploadResult { public string fileName { get; set; } public string error { get; set; } }
在netcore中无法再通过Request.Files对象来获取从前台传递的文件,这里需要使用Request.Form.Files来获取来自客户端提交的文件,接下来需要一个uploadResult结构体,给前台返回json对象 这个结构中必须包含error字段,用来给前台返回错误数据,详情查看官方文档-官网地址
附一张最终的上传成功保存到本地的图片:
感谢各位的阅读!关于.net core版上传文件/ 批量上传拖拽及预览功能的实现方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
当前文章:.netcore版上传文件/批量上传拖拽及预览功能的实现方法
网页地址:http://hbruida.cn/article/jghoos.html