使用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笔记一 js以及json基础使用说明
May 22 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
Dec 08 Javascript
Jquery动态改变图片IMG的src地址示例
Jun 25 Javascript
js渐变显示渐变消失示例代码
Aug 01 Javascript
浅谈window.onbeforeunload() 事件调用ajax
Jun 29 Javascript
一个简单的JavaScript Map实例(分享)
Aug 03 Javascript
微信小程序 定位到当前城市实现实例代码
Feb 23 Javascript
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 jQuery
vue生成token保存在客户端localStorage中的方法
Oct 25 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
Feb 20 Javascript
Vue 微信端扫描二维码苹果端却只能保存图片问题(解决方法)
Jan 19 Javascript
基于element-ui封装表单金额输入框的方法示例
Jan 06 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
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
PHP+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
php向js函数传参的几种方法
2014/08/10 PHP
PHP图片库imagemagick安装方法
2014/09/23 PHP
php基于双向循环队列实现历史记录的前进后退等功能
2015/08/08 PHP
深入php内核之php in array
2015/11/10 PHP
使两个iframe的高度与内容自适应,且相等
2006/11/20 Javascript
犀利的js 函数集合
2009/06/11 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
原生js实现日期联动
2015/01/12 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
使用JS正则表达式 替换括号,尖括号等
2016/11/29 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
2017/05/18 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
JavaScript实现读取与输出XML文件数据的方法示例
2018/06/05 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
vue之封装多个组件调用同一接口的案例
2020/08/11 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
跟老齐学Python之模块的加载
2014/10/24 Python
python实现计算倒数的方法
2015/07/11 Python
python 通过xml获取测试节点和属性的实例
2018/03/31 Python
使用python将大量数据导出到Excel中的小技巧分享
2018/06/14 Python
python实现生成Word、docx文件的方法分析
2019/08/30 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Python发送邮件实现基础解析
2020/08/14 Python
Python下载的11种姿势(小结)
2020/11/18 Python
CSS3的Border-radius轻松制作圆角
2012/12/24 HTML / CSS
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
2015年团委副书记工作总结
2015/07/23 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
Python办公自动化PPT批量转换操作
2021/09/15 Python
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
2022/04/30 Vue.js