博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FileUp(文件上传类)
阅读量:5973 次
发布时间:2019-06-19

本文共 2562 字,大约阅读时间需要 8 分钟。

using System;

using System.IO;
using System.Web;
using System.Web.UI.WebControls;

public class FileUp

{
 public FileUp()
 {}

    /// <summary>

    /// 转换为字节数组
    /// </summary>
    /// <param name="filename">文件名</param>
    /// <returns>字节数组</returns>
    public byte[] GetBinaryFile(string filename)
    {
        if (File.Exists(filename))
        {
            FileStream Fsm = null;
            try
            {
                Fsm = File.OpenRead(filename);
                return this.ConvertStreamToByteBuffer(Fsm);
            }
            catch
            {
                return new byte[0];
            }
            finally
            {
                Fsm.Close();
            }
        }
        else
        {
            return new byte[0];
        }
    }

    /// <summary>

    /// 流转化为字节数组
    /// </summary>
    /// <param name="theStream">流</param>
    /// <returns>字节数组</returns>
    public byte[] ConvertStreamToByteBuffer(System.IO.Stream theStream)
    {
        int bi;
        MemoryStream tempStream = new System.IO.MemoryStream();
        try
        {
            while ((bi = theStream.ReadByte()) != -1)
            {
                tempStream.WriteByte(((byte)bi));
            }
            return tempStream.ToArray();
        }
        catch
        {
            return new byte[0];
        }
        finally
        {
            tempStream.Close();
        }
    }

    /// <summary>

    /// 上传文件
    /// </summary>
    /// <param name="PosPhotoUpload">控件</param>
    /// <param name="saveFileName">保存的文件名</param>
    /// <param name="imagePath">保存的文件路径</param>
    public string FileSc(FileUpload PosPhotoUpload, string saveFileName, string imagePath)
    {
        string state="";
        if (PosPhotoUpload.HasFile)
        {
            if (PosPhotoUpload.PostedFile.ContentLength / 1024 < 10240)
            {
                string MimeType = PosPhotoUpload.PostedFile.ContentType;
                if (String.Equals(MimeType, "image/gif") || String.Equals(MimeType, "image/pjpeg"))
                {
                    string extFileString = System.IO.Path.GetExtension(PosPhotoUpload.PostedFile.FileName);
                    PosPhotoUpload.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(imagePath));
                }
                else
                {
                    state = "上传文件类型不正确";
                }
            }
            else
            {
                state = "上传文件不能大于10M";
            }
        }
        else
        {
            state= "没有上传文件";
        }
        return state;
    }

    /// <summary>

    /// 上传文件
    /// </summary>
    /// <param name="binData">字节数组</param>
    /// <param name="fileName">文件名</param>
    /// <param name="fileType">文件类型</param>
    //-------------------调用----------------------
    //byte[] by = GetBinaryFile("E:\\Hello.txt");
    //this.SaveFile(by,"Hello",".txt");
    //---------------------------------------------
    public void SaveFile(byte[] binData, string fileName, string fileType)
    {
        FileStream fileStream = null;
        MemoryStream m = new MemoryStream(binData);
        try
        {
            string savePath = HttpContext.Current.Server.MapPath("~/File/");
            if (!Directory.Exists(savePath))
            {
                Directory.CreateDirectory(savePath);
            }
            string File = savePath + fileName + fileType;
            fileStream = new FileStream(File, FileMode.Create);
            m.WriteTo(fileStream);
        }
        finally
        {
            m.Close();
            fileStream.Close();
        }
    }
}

转载于:https://www.cnblogs.com/mynameltg/p/4043465.html

你可能感兴趣的文章
oc 与 js交互之vue.js
查看>>
【JavaWeb】图书管理系统【总结】
查看>>
豆瓣源
查看>>
02.SQLServer性能优化之---水平分库扩展
查看>>
Centos7安装greenplum遇到的问题
查看>>
动态权限<一>基本介绍
查看>>
24个终极数据科学项目(可免费获取资源)
查看>>
苹果6跟淘云互动连接不上怎么回事
查看>>
解决java.lang.IllegalArgumentException: 'Content-Type' cannot contain wildcard type '*'异常(真实有效)...
查看>>
强大的 VS Code
查看>>
奔驰更新道路救援APP,融入了AR技术
查看>>
Magix中的缓存模块
查看>>
xinetd被动服务唤醒
查看>>
iView 3.4.1 发布,基于 Vue.js 的企业级 UI 组件库
查看>>
HoloLens获得新专利,可共享空间地图提升扫描建模效率
查看>>
让SAP云平台上的Web应用使用destination服务
查看>>
淘宝未来3年核心方向曝光!新的万亿级市场正在爆发
查看>>
Ubuntu下常规方法安装软件
查看>>
业界 | 数据科学简历通关指南,一文告诉你HR青睐哪些特质
查看>>
有道词典命令行查询工具(Mac/Ubuntu)
查看>>