asp.net core mvc 框架搭建十一、Api的文件接收【干货教程】

首先需要在setup.cs  和 program.cs中设置上传文件的限制大小。 

第二步,写api文件接收函数。

 

[HttpPost("Upload")]
        [RequestSizeLimit(1024 * 10240)] 
        public string Upload(List files)
        { 
            if (files.Count < 1)
            {
                NLogHelper.Info("文件为空");
            }
            long size = files.Sum(f => f.Length); 
            var fileFolder = Path.Combine(AppContext.BaseDirectory, "Upload");
            var fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".png";
            try
            { 
                if (!Directory.Exists(fileFolder))
                    Directory.CreateDirectory(fileFolder);
                var filePath = Path.Combine(fileFolder, fileName); 
                foreach (var file in files)
                {
                    if (file.Length > 0)
                    {
                        using (var stream = new FileStream(filePath, FileMode.Create))
                        { 
                            file.CopyToAsync(stream);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                NLogHelper.Info("===Upload=Exception==>" + ex.ToString());
                throw;
            }

            return "success";
        }

 

最后利用小程序的上传插件上传图片即可。

   wx.uploadFile({

                url: app.globalData.sUrl+"Upload",

                filePath: imgSrcTemp,

                method: "POST",

                header: { 

                    "Content-Type": "multipart/form-data",

                    'accept': 'application/json'

                },

                formData:{

                    'user':'test' //其他额外的formdata,可不写

                }, 

                name: 'files',

                success: function (res) {

                    console.log('访问完成--------' + JSON.stringify(res)); 

                },

                fail: function (res) {

                    console.log('访问失败-------' + JSON.stringify(res));

                }

            });

你可能感兴趣的:(asp.net,core,MVC)