<address id="fzhbr"><delect id="fzhbr"></delect></address>
        <track id="fzhbr"><delect id="fzhbr"></delect></track>
        <strike id="fzhbr"></strike>

              <track id="fzhbr"></track>
                 
                設為首頁 加入收藏
                首 頁 企業簡介 項目案例 軟件定制 行業軟件 解決方案 企業資訊 服務專區 客服中心
                服務項目
                案例展示 更多 >>
                ·生產流程監控 2020/11/26
                ·上位機軟件定制開發 2020/9/29
                ·手機端公眾號集成開發 2020/6/5
                ·業務技能培訓學習軟件 2020/6/5
                ·潤宇司法行政管理綜合平… 2010/12/6
                ·連鎖店管理系統軟件 2010/7/31
                ·醫院管理系統軟件 2010/7/27
                ·駕校查詢系統軟件 2010/7/15
                ·生產管理系統軟件 2010/1/30
                ·人事管理系統軟件 2010/1/30
                聯系人:李先生
                電  話:029-87878512
                手  機:13468700578
                地  址:西安市絲路國際創意夢工廠4號樓
                在線咨詢:  762176615
                Email:junsoft@126.com
                 
                當前的位置 >> 返回首頁 >> 解決方案
                軟件開發中跨服務器通過Web Service來上傳文件
                發布者:西安軟件公司   發布時間:2022/8/15   閱讀:次

                using System;
                using System.Data;
                using System.Web;
                using System.Collections;
                using System.Web.Services;
                using System.Web.Services.Protocols;
                using System.ComponentModel;
                using System.IO;
                 
                namespace UpDownFile
                {
                    /**/
                    /// <summary>
                    /// UpDownFile 的摘要說明
                    /// </summary>
                    [WebService(Namespace = "http://tempuri.org/")]
                    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
                    [ToolboxItem(false)]
                    public class UpDownFile : System.Web.Services.WebService
                    {
                        //上傳文件至WebService所在服務器的方法,這里為了操作方法,文件都保存在UpDownFile服務所在文件夾下的File目錄中
                        [WebMethod]
                        public bool Up(byte[] data, string filename)
                        {
                            try
                            {
                                FileStream fs = File.Create(Server.MapPath("File/") + filename);
                                fs.Write(data, 0, data.Length);
                                fs.Close();
                                return true;
                            }
                            catch
                            {
                                return false;
                            }
                        }
                 
                        //下載WebService所在服務器上的文件的方法
                        [WebMethod]
                        public byte[] Down(string filename)
                        {
                            string filepath = Server.MapPath("File/") + filename;
                            if (File.Exists(filepath))
                            {
                                try
                                {
                                    FileStream s = File.OpenRead(filepath);
                                    return ConvertStreamToByteBuffer(s);
                                }
                                catch
                                {
                                    return new byte[0];
                                }
                            }
                            else
                            {
                                return new byte[0];
                            }
                        }
                    }
                }
                上傳:
                 

                            //FileUpload1是aspx頁面的一個FileUpload控件
                            UpDownFile.UpDownFile up = new UpDownFile.UpDownFile();
                            up.Up(ConvertStreamToByteBuffer(FileUpload1.PostedFile.InputStream),
                            FileUpload1.PostedFile.FileName.Substring(FileUpload1.PostedFile.FileName.LastIndexOf("\\") + 1));

                下載:
                            UpDownFile.UpDownFile down = new UpDownFile.UpDownFile();
                            byte[] file = down.Down(Request.QueryString["filename"].ToString()); //filename是要下載的文件路徑,可自行以其它方式獲取文件路徑
                            Response.BinaryWrite(file);

                以下是將文件流轉換成文件字節的函數(因為Stream類型的是不能直接通過WebService傳輸):

                 protected byte[] ConvertStreamToByteBuffer(Stream s)
                 {
                    BinaryReader br = new BinaryReader(stream);
                    byte[] fileBytes = br.ReadBytes((int)stream.Length);
                    return fileBytes;
                }

                網站首頁 | 關于我們 | 售后服務 | 網站地圖 | 查看留言 | 在線留言 | 客服中心
                © 版權所有:西安潤宇軟件科技有限公司 
                公司地址:西安市絲路國際創意夢工廠4號樓 聯系電話:029-87878512 手機:13468700578 聯系人:李先生
                Copyright ® 2011-2023 Xbwbw.com Inc. All Rights Reserved 
                技術支持:西安潤宇軟件科技有限公司  陜ICP備11000720號
                日韩Av美女精品福利,自拍 制服 无码 日韩,超碰亚洲AV日韩AV无码,日韩亚州另类无码