使用VUE+iView+.Net Core上传图片的方法示例


Posted in Javascript onJanuary 04, 2019

我们直接进入主题,使用VS2017开发工具

首先要创建一个WebApi项目,创建完之后,在wwwroot文件下,创建一个文件夹 名字可以随意起  我这里呢就叫做Upload了

使用VUE+iView+.Net Core上传图片的方法示例

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的地址

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
为指定元素增加样式的js代码
Dec 09 Javascript
28个JS验证函数收集
Mar 02 Javascript
javascript 保存文件到本地实现方法
Nov 29 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
Mar 19 Javascript
jQuery如何防止这种冒泡事件发生
Feb 27 Javascript
KVM虚拟化技术之使用Qemu-kvm创建和管理虚拟机的方法
Oct 05 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
Jul 03 Javascript
angular2 ng2-file-upload上传示例代码
Aug 23 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
Aug 25 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
Dec 03 Javascript
JavaScript函数的4种调用方法实例分析
Mar 05 Javascript
小程序实现新用户判断并跳转激活的方法
May 20 Javascript
Node.js assert断言原理与用法分析
Jan 04 #Javascript
如何为vuex实现带参数的 getter和state.commit
Jan 04 #Javascript
原生javascript实现连连看游戏
Jan 03 #Javascript
JavaScript键盘事件常见用法实例分析
Jan 03 #Javascript
JavaScript常见鼠标事件与用法分析
Jan 03 #Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
Jan 03 #Javascript
JavaScript实现shuffle数组洗牌操作示例
Jan 03 #Javascript
You might like
风格模板初级不完全修改教程
2006/10/09 PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
php中的MVC模式运用技巧
2007/05/03 PHP
php动态函数调用方法
2015/05/21 PHP
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
使用JavaScript实现网页版Pongo设计思路及源代码分享
2014/06/16 Javascript
javascript实现的右下角弹窗实例
2015/04/24 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
Vue2几种常见开局方式详解
2017/09/09 Javascript
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
详解Vue用cmd创建项目
2019/02/12 Javascript
python实现类的静态变量用法实例
2015/05/08 Python
教你用Type Hint提高Python程序开发效率
2016/08/08 Python
Python实现基于POS算法的区块链
2018/08/07 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
django 实现celery动态设置周期任务执行时间
2019/11/19 Python
Pycharm 安装 idea VIM插件的图文教程详解
2020/02/21 Python
python实现俄罗斯方块小游戏
2020/04/24 Python
Python Opencv轮廓常用操作代码实例解析
2020/09/01 Python
宝拉珍选澳大利亚官方购物网站:Paula’s Choice澳大利亚
2016/09/13 全球购物
NFL加拿大官方网上商店:NHLShop.ca
2019/03/12 全球购物
旅游管理专业个人求职信范文
2013/12/24 职场文书
秋季红领巾广播稿
2014/01/27 职场文书
《诚实与信任》教学反思
2014/04/10 职场文书
信息工作经验交流材料
2014/05/28 职场文书
花坛标语大全
2014/06/30 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
主持人开场白台词
2015/05/29 职场文书
孔子观后感
2015/06/08 职场文书
工程移交协议书
2016/03/24 职场文书
详解redis分布式锁的这些坑
2021/05/19 Redis
使用HttpSessionListener监听器实战
2022/03/17 Java/Android