使用VUE+iView+.Net Core上传图片的方法示例
2019/6/26 23:16:55
本文主要是介绍使用VUE+iView+.Net Core上传图片的方法示例,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我们直接进入主题,使用VS2017开发工具
首先要创建一个WebApi项目,创建完之后,在wwwroot文件下,创建一个文件夹 名字可以随意起 我这里呢就叫做Upload了
ok ! 然后我们再创建一个控制器 IndexController 代码如下
要知道上传图片都是通过HTTP去请求,服务端从request中读取
public class PicData { public string Msg { get; set; } } [HttpPost] public async Task<bool> InsertPicture([FromServices]IHostingEnvironment environment) { var data = new PicData(); string path = string.Empty; var files = Request.Form.Files; if (files == null || files.Count() <= 0) { data.Msg = "请选择上传的文件。"; return false; } //格式限制 var allowType = new string[] {"image/jpg", "image/png", "image/jpeg"}; if (files.Any(c => allowType.Contains(c.ContentType))) { if (files.Sum(c => c.Length) <= 1024 * 1024 * 4) { foreach (var file in files) { string strpath = Path.Combine("Upload", DateTime.Now.ToString("MMddHHmmss") + file.FileName); path = Path.Combine(environment.WebRootPath, strpath); using (var stream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite)) { await file.CopyToAsync(stream); } } data.Msg = "上传成功"; return true; } else { data.Msg = "图片过大"; return false; } } else { data.Msg = "图片格式错误"; return false; } }
注意一下这段代码
string strpath = Path.Combine("Upload", DateTime.Now.ToString("MMddHHmmss") + file.FileName);
在wwwroot下创建的文件夹,要将Upload替换成你的文件夹名称
然后这还没有完,还要做跨域,要在Startup.cs文件中去改
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddCors(options => { options.AddPolicy("hehe", p => p.AllowAnyMethod()// 允许任何方法 GET,POST,PUT,DELETE, OPTIONS .AllowAnyHeader() // 允许任何请求头 .AllowAnyOrigin() // 允许任何地址 ); }); }
ConfigureServices方法,然后还有Configure方法
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.UseStaticFiles(); app.UseCors("hehe"); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseMvc(); }
ok完成了,
然后我们就要去创建Vue项目了,
使用npm创建vue项目,vue init webpack file 我们跳过创建过程
使用npm 引用iview 然后在vue项目中的main.js中引用
import iView from 'iview'; import 'iview/dist/styles/iview.css'; import locale from 'iview/dist/locale/en-US'; Vue.use(iView, { locale });
ok,然后我们就在app.vue里面写代码
<template> <div id="app"> <Upload action="http://localhost:53688/api/Index"> <Button icon="ios-cloud-upload-outline">Upload files</Button> </Upload> </div> </template>
action:就是api的地址
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持找一找教程网。
这篇关于使用VUE+iView+.Net Core上传图片的方法示例的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Vue.js 是什么-icode9专业技术文章分享
- 2024-11-01Vue3入门教程:从零开始搭建第一个Vue3项目
- 2024-11-01详解vueRouter4基础教程
- 2024-11-01Vuex4课程:初学者的完整入门指南
- 2024-10-31Vue3课程:新手入门到初级掌握
- 2024-10-31Vue3课程:新手入门到初级应用详解
- 2024-10-31VueRouter4课程:新手入门与实战指南
- 2024-10-31Vuex4学习:从入门到初级实战教程
- 2024-10-31Vue3教程:新手入门与基础实战
- 2024-10-31Vue教程:新手快速入门指南