FileUp(文件上传类)

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();
        }
    }
}

时间: 2024-10-17 04:05:13

FileUp(文件上传类)的相关文章

ajax结合文件上传类进行多文件的单个上传

今天做项目的时候碰见一个问题:之前一个同事离职之前做了一个网站,有一个上传商品详细图片的功能,当时已经完成,但是由于后期程序的有更改以及更改的程序员的水平也是参差不齐,最后导致程序bug很多,由于当时用的是一个框架,最终也没找到说明文档,后来我就重新写了一个结合ajax上传文件的upload.classs.php虽然界面欠缺美观,但是通俗易懂好维护. //首先是页面. index.php <!DOCTYPE html> <html lang="en"> <

面向对象中的文件上传类

<?php /** *文件上传类 * **/ class Upload { //上传到哪个目录 protected $path = './upload/'; //准许的MIME protected $allowmime = ['image/png','image/jpg','image/jpeg','image/pjpeg','image/bmp','image/wbmp','image/gif','image/x-png']; //准许的后缀 protected $allowsubfix = 

PHP文件上传类(页面和调用部分)

<!--upform.html内容--> <form action="upload.php" method="post" enctype="multipart/form-data" > name: <input type="text" name="username" value="" /><br> <input type="

文件上传类

<?php /** file: fileupload.class.php 文件上传类FileUpload 本类的实例对象用于处理上传文件,可以上传一个文件,也可同时处理多个文件上传 */ class FileUpload { private $path = "./uploads"; //上传文件保存的路径 private $allowtype = array('jpg','gif','png'); //设置限制上传文件的类型 private $maxsize = 1000000;

PHP文件上传类

<form action="upload.php" method="post" enctype="multipart/form-data" > name: <input type="text" name="username" value="" /><br> <input type="hidden" name="MAX

php 文件上传类

<?php /** file: fileupload.class.php 文件上传类FileUpload 本类的实例对象用于处理上传文件,可以上传一个文件,也可同时处理多个文件上传 */ class FileUpload { private $path = "./uploads"; //上传文件保存的路径 private $allowtype = array('jpg','gif','png'); //设置限制上传文件的类型 private $maxsize = 1000000;

PHP基础------文件上传类

<?php //文件上传类 $upImage = $_FILES["img"]; //Array //( // [name] => gou.jpg // [type] => image/jpeg // [tmp_name] => D:\wamp\tmp\php311F.tmp // [error] => 0 // [size] => 9488 //) class upLoad{ private $_arr; //构造函数,把图像信息赋值给$_arr字

文件上传类,实现文件上传功能

/** *==================================================================  * upload.class.php 文件上传类,实现文件上传功能 * 2013年3月27日0:37:15 *================================================================== */ class Upload{    private $path;   //文件上传目录    privat

ASP.NET 文件上传类 简单好用

调用: UploadFile uf = new UploadFile(); //参数设置 //uf.SetFilePath="" 设置保存路径,默认为upload //uf.SetFileType=".exe" 设置允许的后缀格式,默认为.pdf,.xls,.xlsx,.doc,.docx,.txt //uf.SetMaxSizeM=100 设置最大上传大小 默认10M //执行保存 uf.Save("file" /*input file 的 n

文件上传类代码(php例子)

这里是来自网络朋友的一个实现的文件上传类代码,我们详细的介绍了每个变量的用处,下面看看吧,有需要可以参考一下. 这里是来自网络朋友的一个实现的文件上传类代码,我们详细的介绍了每个变量的用处,下面看看吧,有需要可以参考一下. <?php教程 /**  * 文件上传类  */ class uploadFile { public $max_size = '1000000';//设置上传文件大小  public $file_name = 'date';//重命名方式代表以时间命名,其他则使用给予的名称