web api 如何通过接收文件流的方式,接收客户端及前端上传的文件

web api 如何通过接收文件流的方式,接收客户端及前端上传的文件,第1张

概述from:https://www.cnblogs.com/refuge/p/8534847.html   服务端接收文件流代码:   public async Task<HttpResponseMessage> ReceiveFileByStream()           {             var stream = HttpContext.Current.Request.InputSt

from:https://www.cnblogs.com/refuge/p/8534847.HTML

 

服务端接收文件流代码:

 

public async Task<httpResponseMessage> ReceivefileByStream()

 

        {             var stream = httpContext.Current.Request.inputStream;             if (stream.Length > 0)             {                 var absolutePath = httpContext.Current.Request.MapPath("/img/");                 if (!Directory.Exists(absolutePath))                 {                     Directory.CreateDirectory(absolutePath);                 }                 var fileType = "";                 var bytes = new byte[stream.Length];                 stream.Read(bytes,bytes.Length);                 //前两个字节代表文件类型,这里以 JPG 类型为例                 var bs = bytes[0].ToString() + bytes[1].ToString();                 if (bs.Equals("255216"))                 {                     fileType = ".jpg";                 }                 var path = absolutePath + GuID.NewGuID() + fileType;                 await Task.Run(() =>                 {                     using (fileStream fs = new fileStream(path,fileMode.Create,fileAccess.Write))                     {                         fs.Write(bytes,bytes.Length);                     }                 });                 return Request.CreateResponse(httpStatusCode.OK,"上传成功!");             }             else             {                 return Request.CreateErrorResponse(httpStatusCode.BadRequest,"没有文件耶,哥们!");             }         }

 

 

客户端上传文件流代码:

 

static string TesthttpClIEntUpload()         {             var resultStr = string.Empty;             httpClIEnt clIEnt = new httpClIEnt();             clIEnt.BaseAddress = new Uri("http://192.168.20.15:57895");             string APIUrl = "API/upload/ReceivefileByStream";             string path = @"C:\Users\xxxx\Desktop\woman.jpg";             fileStream fs = new fileStream(path,fileMode.Open,fileAccess.Read);             httpContent content = new StreamContent(fs);             var result = clIEnt.PostAsync(APIUrl,content).Result;             fs.dispose();             resultStr = result.Content.ReadAsstringAsync().Result;             return resultStr;//上传成功         }

 

 httpWebRequest:

static string TesthttpWebRequestUpload()         {             var resultStr = string.Empty;             string url = "http://192.168.20.15:57895/API/upload/ReceivefileByStream";             httpWebRequest request = WebRequest.Createhttp(url);             request.Method = "post";             string path = @"C:\Users\xxxx\Desktop\woman.jpg";             fileStream fs = new fileStream(path,fileAccess.Read);             var requestStream = request.GetRequestStream();             fs.copyTo(requestStream);             fs.dispose();             requestStream.dispose();             var result = request.GetResponseAsync().Result;             var responseStream = result.GetResponseStream();             using (StreamReader sm = new StreamReader(responseStream))             {                 resultStr = sm.ReadToEnd();             }             return resultStr;//上传成功         } 总结

以上是内存溢出为你收集整理的web api 如何通过接收文件流的方式,接收客户端及前端上传的文件全部内容,希望文章能够帮你解决web api 如何通过接收文件流的方式,接收客户端及前端上传的文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/web/1088473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存