在微信公众号接入人工智能(3)

3、新建一个 webapi 项目,并实现上传文件的接口功能,让文件可以传输到服务器上

1、在使用模型的解决方案中新建 webapi 项目
(1)右击解决方案
(2)找到添加,点击或鼠标悬停,
(3)新建项目

新建项目

2、创建一个 ASP.NET Core Web 应用程序:记得选择 .NET core ,选错了就没法使用了
选择后点击下一步。

创建一个 ASP.NET Core Web 应用程序

3、更改项目名称,我这边使用的是 kouzhao , 你们也可以换成别的名字,然后点击创建。

更改项目名称

4、平台选择 .NET Core ASP.NET 3.1 ,选择 API 项目 , 身份验证:不进行身份验证。高级设置中,去掉勾选 为HTTPS 配置,然后点击创建。

创建配置

上面描述了如何创建一个 .net core webapi 的项目,接下来要了解 如何添加 接口

5、在右边找到我们的 kouzhaowebapi 这个项目,在项目中 Controllers 文件夹下添加一个 DiscernController 的类

找到 Controllers 控制器文件
右击=>添加=>类
新建一个类 DiscernController

6、将下面代码文件

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

namespace kouzhaowebapi.Controllers
{
    [ApiController]
    public class DiscernController : ControllerBase
    {
        /// <summary>
        /// 上传文件:口罩验证
        /// </summary>
        /// <param name="stream"></param>
        /// <param name="fileName"></param>
        [HttpPost("upload")]
        [Route("api/discern/kouzhao")]
        public object UploadFile([FromForm] IFormCollection collection)
        {
            //申明返回的结果
            string result = "";
            FormFileCollection filelist = (FormFileCollection)collection.Files;
            //检查是否有文件提交上来
            if (filelist != null && filelist.Any())
            {
                //我们只做第一个文件的检查
                IFormFile file = filelist[0];
                //做随机数,用到文件夹名字上,防重名
                Random random = new Random();
                string r = "";
                int i;
                for (i = 1; i < 11; i++)
                {
                    r += random.Next(0, 9).ToString();
                }
                //文件路径
                string Tpath = "/file/";
                string name = file.FileName;
                string FileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + r;
                string FilePath = @"C:\" + Tpath;
                //获取文件类型
                string type = System.IO.Path.GetExtension(name);
                DirectoryInfo di = new DirectoryInfo(FilePath);
                if (!di.Exists)
                {
                    di.Create();
                }
                //文件保存的路径
                var filefullname = FilePath + FileName + type;
                using (FileStream fs = System.IO.File.Create(filefullname))
                {
                    // 复制文件
                    file.CopyTo(fs);
                    // 清空缓冲区数据
                    fs.Flush();
                    fs.Close();
                    fs.Dispose();
                }
                //成功提示赋值到返回结果中
                result = "文件上传成功";
            }
            return result;
        }

    }
}

7、接下来运行项目,我们使用控制台界面运行项目。按 F5 运行项目后,得到下面的情况,就代表程序启动了

image.png

8、使用 Postman 测试上传图片


post上传图片

选择图片

点击send按钮

上传成功,测试完成

上传的文件目录

到这里就是 新建一个 webapi 项目,并实现上传文件的接口功能,让文件可以传输到服务器上 的全部内容了,后续会继续出如何接入接口的 过程

欢迎进qq群交流:704028989

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容