文件上传示例代码

 #region 文件上传。
        /// <summary>
        /// 文件上传。
        /// </summary>
        public async Task<string> UpLoadFilesAsync(string fileName, string token)
        {
            string fileType = Path.GetExtension(fileName);
            string fileExpand = fileType.Substring(1, fileType.Length - 1);
            string upLoadParms = "?Service=notifyfile" + "&token=" + token + "&filetype=" + fileExpand;
            WebRequest webRequest = HttpWebRequest.Create(AppConfig.HttpISSServiceUrl + upLoadParms);
            System.Text.Encoding coding = System.Text.Encoding.UTF8;
            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.Method = "POST";
            System.IO.Stream requestStream = webRequest.GetRequestStream();
            FileStream fileStream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
            BinaryReader binaryReader = new BinaryReader(fileStream, System.Text.Encoding.UTF8);
            byte[] buffer = binaryReader.ReadBytes((int)fileStream.Length);
            requestStream.Write(buffer, 0, buffer.Length);
            fileStream.Close();
            requestStream.Close();
            WebResponse response = webRequest.GetResponse();
            Stream responseStream = response.GetResponseStream();
            StreamReader streamReador = new System.IO.StreamReader(responseStream);
            string returnVal = streamReador.ReadToEnd();
            responseStream.Close();
            response.Close();
            return AnalyzeXML(returnVal);
        }
        /// <summary>
        /// 结果为通知格式,返回true为发送成功
        /// </summary>
        private string AnalyzeXML(string xml)
        {
            if (string.IsNullOrEmpty(xml)) return "";
            try
            {
                var xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(xml);
                XmlNode rootNode = xmlDoc.DocumentElement;
                string fileGuid = rootNode.SelectSingleNode("filename").InnerText.Trim();
                return fileGuid;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion

posted @   长白山  阅读(233)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
点击右上角即可分享
微信分享提示