使用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 相关文章推荐
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
Jquery弹出窗口插件 LeanModal的使用方法
Mar 10 Javascript
js点击页面其它地方将某个显示的DIV隐藏
Jul 12 Javascript
jquery判断元素是否隐藏的多种方法
May 06 Javascript
javascript实现在网页任意处点左键弹出隐藏菜单的方法
May 13 Javascript
javascript图片预览和上传(兼容IE)
Mar 15 Javascript
jQuery EasyUI 组件加上“清除”功能实例详解
Apr 11 jQuery
js图片加载效果实例代码(延迟加载+瀑布流加载)
May 12 Javascript
js数组方法reduce经典用法代码分享
Jan 07 Javascript
vue iview组件表格 render函数的使用方法详解
Mar 15 Javascript
图文讲解vue的v-if使用方法
Feb 11 Javascript
JavaScript直接调用函数与call调用的区别实例分析
May 22 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
缓存技术详谈―php
2006/12/14 PHP
PHP结合jQuery实现找回密码
2015/07/22 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
2016/10/25 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
php接口技术实例详解
2016/12/07 PHP
PHP中单例模式与工厂模式详解
2017/02/17 PHP
重载toString实现JS HashMap分析
2011/03/13 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
JS左右无缝滚动(一般方法+面向对象方法)
2012/08/17 Javascript
杨氏矩阵查找的JS代码
2013/03/21 Javascript
js获取当前页面的url网址信息
2014/06/12 Javascript
JavaScript字符串对象toLowerCase方法入门实例(用于把字母转换为小写)
2014/10/17 Javascript
Canvas实现动态的雪花效果
2017/02/13 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
[01:04]不如跳舞!DOTA2新英雄玛尔斯的欢乐日常
2019/03/11 DOTA
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python初学时购物车程序练习实例(推荐)
2017/08/08 Python
1 行 Python 代码快速实现 FTP 服务器
2018/01/25 Python
python2.7安装图文教程
2018/03/13 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
Python requests模块cookie实例解析
2020/04/14 Python
为你的html5网页添加音效示例
2014/04/03 HTML / CSS
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
自行车租赁公司创业计划书
2014/01/28 职场文书
幼儿园教育教学反思
2014/01/31 职场文书
党员批评与自我批评范文
2014/09/23 职场文书
法律讲堂观后感
2015/06/11 职场文书
安全教育主题班会总结
2015/08/14 职场文书
推广普通话宣传标语口号
2015/12/26 职场文书
Python绘制地图神器folium的新人入门指南
2021/05/23 Python
详解pytorch创建tensor函数
2022/03/22 Python