winform文件上传保存

        /// <summary>
        /// 将文件转换为二进制流进行读取
        /// </summary>
        /// <param name="fileName">文件完整名</param>
        /// <returns>二进制流</returns>
        private byte[] FileToBinary(string fileName)
        {
            try
            {
                FileStream fsRead = new FileStream(fileName, FileMode.Open, FileAccess.Read);

                if (fsRead.CanRead)
                {
                    int fsSize = Convert.ToInt32(fsRead.Length);

                    byte[] btRead = new byte[fsSize];

                    fsRead.Read(btRead, 0, fsSize);

                    return btRead;
                }
                else
                {
                    MessageBox.Show("文件读取错误!");
                    return null;
                }
            }
            catch (Exception ce)
            {
                MessageBox.Show(ce.Message);

                return null;
            }
        }


        /// <summary>
        /// 将二进制流转换为对应的文件进行存储
        /// </summary>
        /// <param name="filePath">接收的文件</param>
        /// <param name="btBinary">二进制流</param>
        /// <returns>转换结果</returns>
        private bool BinaryToFile(string fileName, byte[] btBinary)
        {
            bool result = false;

            try
            {
                FileStream fsWrite = new FileStream(fileName, FileMode.Create, FileAccess.Write);

                if (fsWrite.CanWrite)
                {
                    fsWrite.Write(btBinary, 0, btBinary.Length);

                    MessageBox.Show("文件写入成功!");

                    result = true;
                }
                else
                {
                    MessageBox.Show("文件些入错误!");
                    result = false;
                }
            }
            catch (Exception ce)
            {
                MessageBox.Show(ce.Message);
                result = false;
            }

            return result;
        }

        /// <summary>
        /// 判断文件是否存在
        /// </summary>
        /// <param name="fileName">文件完整的路径名</param>
        /// <param name="nodeTipText">文件名</param>
        /// <returns>判断结果</returns>
        private bool JudgeFileExists(string fileName, string nodeTipText)
        {

            if (File.Exists(fileName))
            {
                StringBuilder sbError = new StringBuilder();
                sbError.Append(nodeTipText + "已存在于:\n");

                sbError.Append(fileName.Substring(0, fileName.LastIndexOf("\\")) + "\n");

                sbError.Append("中,是否覆盖原文件?");

                string strSearch = MessageBox.Show(sbError.ToString(), "提示", MessageBoxButtons.YesNo).ToString();

                if (strSearch == "Yes")
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                return true;
            }

        }

posted on 2009-05-21 15:19  Ryan.L.R  阅读(661)  评论(0)    收藏  举报

导航