使用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一个无懈可击的实例化XMLHttpRequest的方法
Oct 13 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
JS判断表单输入是否为空(示例代码)
Dec 23 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
js获取当前日期时间及其它操作汇总
Apr 17 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
Jun 13 Javascript
详解vue-cli 脚手架项目-package.json
Jul 04 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
Sep 16 Javascript
详解React项目中碰到的IE问题
Mar 14 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
Apr 16 Javascript
利用vue3+ts实现管理后台(增删改查)
Oct 30 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+APACHE实现用户论证的方法
2006/10/09 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
PHP实现补齐关闭的HTML标签
2016/03/22 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
javascript函数重载解决方案分享
2014/02/19 Javascript
js动态移动滚动条至底部示例代码
2014/04/24 Javascript
常用的JavaScript WEB操作方法分享
2015/02/28 Javascript
微信小程序 Flex布局详解
2016/10/09 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
2017/09/26 Javascript
javaScript动态添加Li元素的实例
2018/02/24 Javascript
vue路由拦截及页面跳转的设置方法
2018/05/24 Javascript
JavaScript惰性载入函数实例分析
2019/03/27 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
用Python的Django框架完成视频处理任务的教程
2015/04/02 Python
python避免死锁方法实例分析
2015/06/04 Python
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
利用 Monkey 命令操作屏幕快速滑动
2016/12/07 Python
python list格式数据excel导出方法
2018/10/31 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
python如何运行js语句
2020/09/09 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
python 基于wx实现音乐播放
2020/11/24 Python
Get The Label中文官网:英国运动时尚购物平台
2017/04/19 全球购物
大学生活动策划方案
2014/02/10 职场文书
爱牙日活动总结
2014/08/29 职场文书
标准版离职证明书
2014/09/12 职场文书
大学生党员自我评价
2015/03/04 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
速龙x4-860k处理器相当于i几
2022/04/20 数码科技