C#接收文件流通过SFTP上传至服务器

C# 做服务端接口,接收文件流通过SFTP上传至服务器

本示例支持多个文件上传同时上传,并同时上传多台服务器

SFTP需要引入Renci.SshNet包
接口功能:第三方调用此接口上传vox文件,接口接收传过来的文件流,直接将接收的文件流通过SFTP的方式上传至Linux服务器
可用Postman进行自测

Body选择form-data方式
Body

Content-Type:multipart/form-data 在这里插入图片描述

接口的入口,逻辑处理在upLoadFile()中:
public class CCase
    {
   
        /// <summary>
        /// 预约服务
        /// </summary>
        /// <param name="stream"></param>
        [WebInvoke(UriTemplate = "upLoadFile", Method = "POST", BodyStyle = WebMessageBodyStyle.Bare)]
        //public SampleItem Create(SampleItem instance)
        public void upLoadFile(Stream stream)
        {
   

            string ip = System.Web.HttpContext.Current.Request.UserHostAddress.ToString();
            string rval = "";
            Encoding gbEncoding = Encoding.GetEncoding("utf-8");

            try
            {
   
                CTrace.Write(TraceLevel.Info, "upLoadFile.Receive.....{0}", ip);
                //StreamReader sr = new StreamReader(stream, gbEncoding);
                //string s = sr.ReadToEnd();
                //sr.Dispose();
                CTrace.Write(TraceLevel.Info, "upLoadFile.Readstr:{0}", rval);
                rval = CsDataHandler.upLoadFile(stream);
            }
            catch (Exception err)
            {
   
                CTrace.Write(TraceLevel.Debug, "upLoadFile.Read.Err::{0}", err.ToString());
                return;
            }

            try
            {
   
                CTrace.Write(TraceLevel.Info, "upLoadFile.Write:{0}", rval);

                HttpContext.Current.Response.ContentEncoding = gbEncoding;
                HttpContext.Current.Response.Write(rval
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值