排名
1
文章
860
粉丝
112
评论
163
.net core自定义项目模板,创建自己的模板项目,使用命令行创建模板项目
尘叶心繁 : 可以可以讲真的我都想弄个模板
net core webapi post传递参数
庸人 :
确实坑哈,我也是下班好了好几次,发现后台传递对象是可以的,但...
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 : 已精
.net webapi 返回需要的字段,忽略某些字段,修改字段名等
雨雨雨雨雨辰 :
疯狂反射
百度编辑器自定义模板
庸人 : 我建议换个编辑器,因为现在百度富文本已经停止维护了,用tinymec...
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:
50010702506256


欢迎加群交流技术

上传图片的前台代码都完全一样,直接来贴后台的代码吧
- public ActionResult UploadImage(List<IFormFile> upfile)
- {
-
- //Request.Form.Files["file"]也可以通过这样的方式获取文件
- if (upfile == null)
- {
- return new ContentResult { ContentType = "application/json;charset=UTF-8", Content = "文件资源为空" };
- }
-
- //获取静态资源文件根目录
- string webRootPath = _hostingEnvironment.WebRootPath;
-
- foreach (var formFile in upfile)
- {
- if (formFile.Length > 0)
- {
-
- string fileExt = formFile.FileName.Substring(formFile.FileName.LastIndexOf('.')); //文件扩展名
- long fileSize = formFile.Length; //获得文件大小,以字节为单位
-
- if (fileSize > 1024 * 1024 * 2) //2M
- {
- //上传的文件不能大于2M
- }
-
- string newFileName = System.Guid.NewGuid().ToString("N") + fileExt; //随机生成新的文件名
- var filePath = webRootPath + "/arcimg/" + newFileName;//上传文件的完整目录
- using (var stream = new FileStream(filePath, FileMode.Create))
- {
- formFile.CopyTo(stream);
- stream.Flush();
- }
- }
- }
-
- return new ContentResult { ContentType = "application/json;charset=UTF-8", Content = "上传图片成功" };
- }
这里有个net core中获取项目根目录的物理路径问题:
具体可以参考:
http://www.tnblog.net/aojiancc2/article/details/2347
说一下两点注意:
1:net core中没有saveas,所有不能使用saveas这个方法来上传图片
而是通过一个文件流来上传,最重要的就是formFile.CopyTo(stream)了;
2:upfile这个就是对应前台文件选择框的name
3: 图片存放的地址,不要随便新建一个文件夹去存储,那样是访问不到的!!!!,应该放到那个wwwroot
文件夹里边去,那个是官方推荐的存储静态资源的位置,例如js,css,图片等文件
所以可以在哪里去创建一个文件夹
.net core webapi 上传图片文件基本也差不多,前端一般使用vue类似的技术栈
测试代码如下:
- /// <summary>
- /// 上传多个文件
- /// </summary>
- /// <param name="Files"></param>
- /// <returns></returns>
- [HttpPost]
- [AllowAnonymous]
- public string Post(IFormCollection Files)
- {
- try
- {
- string dd = Files["File"];
- var form = Files;//定义接收类型的参数
- Hashtable hash = new Hashtable();
- IFormFileCollection cols = Request.Form.Files;
- if (cols == null || cols.Count == 0)
- {
- return "没有上传文件";
- }
- foreach (IFormFile file in cols)
- {
- //定义图片数组后缀格式
- string[] LimitPictureType = { ".JPG", ".JPEG", ".GIF", ".PNG", ".BMP" };
- //获取图片后缀是否存在数组中
- string currentPictureExtension = Path.GetExtension(file.FileName).ToUpper();
- if (LimitPictureType.Contains(currentPictureExtension))
- {
- //这里暂时不重新生成文件名称,图片重命名使用guid或者时间都可以
- // var new_path = DateTime.Now.ToString("yyyyMMdd")+ file.FileName;
- var new_path = Path.Combine("uploads/images/", file.FileName);
- var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", new_path);
- //这步之前最好做一下文件夹是否存在的判断,如果不存在就创建一下
- using (var stream = new FileStream(path, FileMode.Create))
- {
- file.CopyTo(stream);
- stream.Flush();
- }
- }
- else
- {
- return "请上传指定格式的图片";
- }
- }
- return "上传成功";
- }
- catch (Exception ex)
- {
- return "上传失败";
- }
- }
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价