使用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 相关文章推荐
javascript中parentNode,childNodes,children的应用详解
Dec 17 Javascript
网站基于flash实现的Banner图切换效果代码
Oct 14 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
Jun 22 Javascript
canvas实现探照灯效果
Feb 07 Javascript
js正则表达式验证表单【完整版】
Mar 06 Javascript
jQuery实现按比例缩放图片的方法
Apr 29 jQuery
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 jQuery
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
Sep 20 Javascript
详解vue中v-model和v-bind绑定数据的异同
Aug 10 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 和 MYSQL
2006/10/09 PHP
PHP的Yii框架入门使用教程
2016/02/15 PHP
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
javascript动态添加checkbox复选框的方法
2015/12/23 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
JS基于正则截取替换特定字符之间字符串操作示例
2017/02/03 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
详解Vue的常用指令v-if, v-for, v-show,v-else, v-bind, v-on
2018/10/12 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
VSCode搭建React Native环境
2020/05/07 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
Python使用修饰器执行函数的参数检查功能示例
2017/09/26 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python爬虫基础之XPath语法与lxml库的用法详解
2018/09/13 Python
python实现朴素贝叶斯算法
2018/11/19 Python
django 自定义过滤器的实现
2019/02/26 Python
python中树与树的表示知识点总结
2019/09/14 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
Python编写memcached启动脚本代码实例
2020/08/14 Python
欧洲领先的火车票和大巴票预订平台:Trainline
2018/12/26 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
工程专业毕业生自荐信范文
2013/12/25 职场文书
留学生如何写好自荐信
2013/12/27 职场文书
中考冲刺决心书
2014/03/11 职场文书
求职简历自我评价范例
2014/03/12 职场文书
大学生活自我评价
2014/04/09 职场文书
实习报告评语
2014/04/26 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
详解JavaScript中Arguments对象用途
2021/08/30 Javascript