使用VUE+iView+.Net Core上传图片

我们直接进入主题,使用VS2017开发工具

首先要创建一个WebApi项目,创建完之后,在wwwroot文件下,创建一个文件夹 名字可以随意起  我这里呢就叫做Upload了

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的地址

原文地址:https://www.cnblogs.com/NiuZiXiao/p/10213535.html

时间: 2024-11-07 15:07:32

使用VUE+iView+.Net Core上传图片的相关文章

ABP vue+asp.net core yarn serve报 Cannot find module &#39;typescript/package.json错误

abp的前端在node install 安装完成了相关的依赖包,直接yarn serve运行相关服务的时候报"Cannot find module 'typescript/package.json"这个异常 这个时候只需要执行 yarn install 可以了 ABP vue+asp.net core yarn serve报 Cannot find module 'typescript/package.json错误 原文地址:https://www.cnblogs.com/albert

Vue iview中的render小案例3

当我按下play.穿梭在大街小巷没什么不对.每个人都会.只是你在束缚自己.快来做个一等一的player.要求自己不能够太普通.一定必须要去做点成就 Vue iview中的render小案例 第一个数据比较好拿是对象直接.就可以,第二个是数组所以需要遍历会麻烦些 工序一道也少不了,就像下面迟早会补齐的 每天记录一点点 { title: "场馆地址", // key: "gymnasium.name" render: (h, params) => { return

webpack+vue+iview使用vue-cli脚手架搭建

1.安装nodejs环境 下载node.js.安装成功后再控制台输入 node -v 出现版本号则,安装成功. 如果没有出现 版本号 而是出现node 不是内部命令的话 需要配置一下环境变量,如果已经出现版本号,此步骤可以忽略.将安装node的路径剪切,右键我的电脑-->属性-->高级系统环境设置-->环境变量-->找到path环境变量.加上复制的node的安装路径. 2.可以在控制台在输入一下命令,查看是否已经成功的安装了npm   npm -v  如果出现版本号说明已经安装成功

VUE iview date-picker取时间范围...

x HTML <script src="//unpkg.com/vue/dist/vue.js"></script> <script src="//unpkg.com/iview/dist/iview.min.js"></script> <div id="app"> <row> <i-col span="12"> <date-picker

使用vue iview遇到的一些问题

使用阿里巴巴图标库 下载代码 这五个文件 iconfount.css 如果导入多个文件记得把@font-face复制到里面 改成./路径 //main.js import './assets/font/iconfont.css' 可以直接使用了 <Icon custom="icon iconfont icon_dingtalk_line icon-icon_dingtalk_line" size="small" /> 注意 记得上上 icon iconf

vue+Iview+gulp 生成文档说明

1.安装npm gulp相关插件 比如:gulp.gulp-concat.gulp-htmlmin.gulp-cssmin.gulp-cheerio.gulp-clean 2. 编写gulpfile.js //获取 gulp var gulp = require('gulp'); //压缩 JS var uglify = require('gulp-uglify'); //合并文件 var concat = require('gulp-concat'); //压缩html var htmlmin

vue + iview 怎样在vue项目下添加ESLint

参考:https://segmentfault.com/a/1190000012019019?utm_source=tag-newest 使用iview框架的MenuGroup标签,vscode报红,提示如下 [eslint-plugin-vue] [vue/no-parsing-error] Parsing error:x-invalid-end-tag 这个时候,把MenuGroup标签改成menu-item标签 还有问题,继续往下看 在vue的项目里新添加ESLint 有的时候,早期的时候

gulp+vue+webpack .net core web项目开发

使用前准备 安装nodejs npm cnpm 全局安装webpack PS:cnpm与npm区别,请百度 1.packages.json配置文件,如项目中没有这个文件,则运行npm init即可(PS:cnpm init也可以) { "name": "tcbase.nugetserver.portal", "version": "1.0.0", "description": "", &

vue+iview中的table表格导出excel表格

一.iveiw框架中table中有exportCsv()方法可以导出.csv后缀文件,类似于excel文件,但是并不是excel文件. 二.实现table表格导出excel文件利用Blob.js 和 Export2Excel.js两个文件实现 1.Blob.js 和 Export2Excel.js文件 链接:https://pan.baidu.com/s/1PvP-NxmONNh71SRDvlL_9A 密码:3h82 2.把Blob.js 和 Export2Excel.js文件添加到src文件夹