• 通过API上传文件


    客户端方法

            /// <summary>
            /// 发送post请求,通过API上传本地文件到服务器
            /// </summary>
            /// <param name="authorCode">API秘钥</param>
            /// <param name="url">API上传地址</param>
            /// <param name="FilePath">需要上传的文件本地完整路径</param>
            /// <param name="FileName">上传文件保存的名字</param>
            /// <returns></returns>
            public static string HttpPostRequst_UploadFile(string authorCode, string url , string FilePath , string FileName )
            {
                //--------上传------------
                HttpClient client = new HttpClient();
                //验证
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authorCode);
                //指定类型
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                #region
                MultipartFormDataContent form = new MultipartFormDataContent();
                StreamContent fileContent = new StreamContent(File.OpenRead(FilePath));
                fileContent.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
                fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
                fileContent.Headers.ContentDisposition.FileName = FileName;
                form.Add(fileContent);
                #endregion
    
                HttpResponseMessage res = client.PostAsync(url, form).Result;
                var uploadModel = res.Content.ReadAsStringAsync().Result;
    
                return uploadModel;
            }

    服务器方法

         public HttpResponseMessage PostFile( )
            {
                HttpResponseMessage result = null;
                var httpRequest = HttpContext.Current.Request;
                if (httpRequest.Files.Count > 0)
                {
                    var docfiles = new List<string>();
                    foreach (string file in httpRequest.Files)
                    {
                        var postedFile = httpRequest.Files[file];
                        var filePath = HttpContext.Current.Server.MapPath("~/" + postedFile.FileName);
                        postedFile.SaveAs(filePath);
    
                        docfiles.Add(filePath);
                    }
                    result = Request.CreateResponse(HttpStatusCode.Created, docfiles);
                }
                else
                {
                    result = Request.CreateResponse(HttpStatusCode.BadRequest);
                }
                return result;
            }
  • 相关阅读:
    DataTables: Cannot read property 'length' of undefined
    ssis SQL Server Integration Services
    科技爱好者周刊(第 209 期):程序员是怎样的人
    How do I remove the first characters of a specific column in a table?
    Define your Classic pipeline
    How does comparison operator works with null int?
    How to set Google Chrome custom proxy server settings independently from Internet Explorer proxy settings
    GetUniqueNodeName
    RK3399Pro 音频配置
    查看USB设备
  • 原文地址:https://www.cnblogs.com/lhlong/p/10773877.html
Copyright © 2020-2023  润新知