使用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 表单之间的数据传递代码
Dec 04 Javascript
js返回上一页并刷新代码整理
Dec 21 Javascript
js 实现浏览历史记录示例
Apr 20 Javascript
JavaScript中的setMilliseconds()方法使用详解
Jun 11 Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 Javascript
JS实现的文字与图片定时切换效果代码
Oct 06 Javascript
js中遍历Map对象的方法
Jul 27 Javascript
原生js实现返回顶部缓冲效果
Jan 18 Javascript
Angular实现图片裁剪工具ngImgCrop实践
Aug 17 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
Aug 29 Javascript
VueQuillEditor富文本上传图片(非base64)
Jun 03 Javascript
Vue双向数据绑定(MVVM)的原理
Oct 03 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
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
利用PHP实现图片等比例放大和缩小的方法详解
2013/06/06 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
php使用lua+redis实现限流,计数器模式,令牌桶模式
2019/04/04 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
extJs 常用到的增,删,改,查操作代码
2009/12/28 Javascript
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
javascript深入理解js闭包
2010/07/03 Javascript
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
javascript中sort() 方法使用详解
2015/08/30 Javascript
nodejs 的 session 简单使用
2016/06/06 NodeJs
javascript jquery对form元素的常见操作详解
2016/06/12 Javascript
html+js+highcharts绘制圆饼图表的简单实例
2016/08/04 Javascript
聊一聊JS中的prototype
2016/09/29 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
webpack4简单入门实例
2018/09/06 Javascript
小程序实现录音功能
2020/09/22 Javascript
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python 文件处理注意事项总结
2017/04/10 Python
Python实现一个带权无回置随机抽选函数的方法
2019/07/24 Python
Django之choices选项和富文本编辑器的使用详解
2020/04/01 Python
python实现人性化显示金额数字实例详解
2020/09/25 Python
Python实现随机爬山算法
2021/01/29 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
几个MySql的面试题
2013/04/22 面试题
土建资料员岗位职责
2014/01/04 职场文书
银行优秀员工事迹
2014/02/06 职场文书
法制教育观后感
2015/06/17 职场文书
如何写观后感
2015/06/19 职场文书
使用pytorch实现线性回归
2021/04/11 Python
JVM的类加载器和双亲委派模式你了解吗
2022/03/13 Java/Android
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python