当前位置:  编程技术>.net/c#/asp.net

asp.net上传图片的示例代码

    来源: 互联网  发布时间:2014-08-30

    本文导语:  本节内容: asp.net上传图片 1,aspx页面内容   代码示例:       2,图片上传页面   代码示例: using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; usin...

本节内容:
asp.net上传图片

1,aspx页面内容
 

代码示例:

 








  

 

2,图片上传页面
 

代码示例:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class mycontrols_upfile : System.Web.UI.UserControl
{
    private string _filepath;
    public string Filepath
    {
get { return _filepath; }
set { _filepath = value; }
    }
    public string getpath()
    {
this.Filepath = this.fileimages.Text;
return Filepath;
    }
    public string gopath(string str)
    {
this.fileimages.Text= str;
return str;
    }
    protected void Page_Load(object sender, EventArgs e)
    {
if (!IsPostBack)
{ // www.
// MenuDAL.Current.BoundTree(TreeView1.Nodes);
DataAccess.IsAdmin();
}
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
      string name = this.FileUpload1.FileName;//文件名字
string size = this.FileUpload1.PostedFile.ContentLength.ToString();//文件大小
string type = this.FileUpload1.PostedFile.ContentType;//文件类型type == "image/pjpeg" || type == "image/gif" || type == "x-png"
  string type2 = name.Substring(name.LastIndexOf(".") + 1);//文件类型
  string path = Server.MapPath("~/fileload/") + "//" + DateTime.Now.ToString("yyyyMMddhhmmssffff") + "." + type2; ;//实际路径
  string datapath = "\fileload/" + DateTime.Now.ToString("yyyyMMddhhmmssffff") +"."+ type2;
if (Convert.ToInt32(size) > 2048)

this.Label1.Text = "上传失败文件大于2m";
}

if (type == "image/gif" || type == "image/bmp" || type == "image/pjpeg" || type == "image/x-png")
{
    this.FileUpload1.SaveAs(path);
    this.Label1.Text = "上传成功";
    this.fileimages.Text = datapath;
}
else
{
    this.Label1.Text = "文件类型不对上传失败";
}      
    }
}
使用的时候只要引用上路径即可。

要使用的页面头部加上这段代码

在要上传的地方加上

图片路径=upfile1.getpath();

3,封装的类文件
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.IO;
using System.Web.UI.WebControls;

namespace Bettem.Utility.IO
{
    public class FileUploadInfo
    {
///
/// 上传文件方法
///
/// FileUpload控件的ID
/// 要保存的路径
/// 要上传的文件的类型([图片]image,[文件]file,[多媒体]media,flash)
/// 上传文件重命名时的前缀
/// 上传文件限制的大小,单位是M
/// 正确的时候返回string类型的文件路径,返回0为有错
public  string UpFile(System.Web.UI.WebControls.FileUpload fileUpload,string pathDir,string fileType,string fileFristName,int fileSize)
{

string name = fileUpload.FileName;  //获取文件名字
string getFileExtension = GetExtension(name);   //获取文件扩展名
string getFileNoExtension = GetFileName(name);  //获取文件不带扩展名的名称
if (!IsAllowedExtension(getFileExtension,fileType)) //判断文件的是否为允许上传的文件
{
    return "0";
}
if (fileUpload.PostedFile.ContentLength  > fileSize*1024*1024)
{
    return "1";
}
Random rd = new Random();
string datapath;
try
{
    string path = HttpContext.Current.Server.MapPath("~/" + pathDir + "/") + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + rd.Next().ToString() + getFileNoExtension + getFileExtension;
    string filePahtDir = HttpContext.Current.Server.MapPath("~/" + pathDir + "/");
    GetSaveDirectory(filePahtDir);
    fileUpload.SaveAs(path);
    datapath = "/" + pathDir + "/" + DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + rd.Next().ToString() + getFileNoExtension + getFileExtension;
}
catch (Exception ex)
{
    throw new Exception(ex.Message);
}
return datapath;
}

///
///是否允许该扩展名上传
///
///要上传的文件扩展名,如:(.jpg,.gif)
///文件类型(image,image1,media,file,flash)
private static bool IsAllowedExtension(string fileName, string flag)
{
//string strOldFilePath = "";
string strExtension = "";
string[] arrExtension = { ".zip", ".rar" };

//允许上传的扩展名,可以改成从配置文件中读出
switch (flag)
{
    case "image":
arrExtension = new string[] { ".gif", ".jpg", ".jpeg", ".bmp", ".png" };
break;
    case "media":
arrExtension = new string[] { ".avi", ".mpg", ".mpeg", ".mp3", ".wmv", ".wav", ".wma" };
break;
    case "file":
arrExtension = new string[] { ".docx", ".txt", ".doc", ".ppt", ".pptx", ".pdf", ".zip", ".rar", ".swf", ".gif", ".jpg", ".jpeg", ".bmp", ".png", ".xls", ".xlsx", ".rtf", ".avi", ".mpg", ".mpeg", ".mp3", ".wmv", ".wav", ".wma" };
break;
    case "flash":
arrExtension = new string[] { ".swf" };
break;
    default:
break;
}

if (fileName != string.Empty)
{
    //取得上传文件的扩展名
    strExtension = fileName.Substring(fileName.LastIndexOf("."));
    //判断该扩展名是否合法
    for (int i = 0; i < arrExtension.Length; i++)
    {
if (strExtension.ToLower().Equals(arrExtension[i]))
{
return true;
}
    }
}
return false;
}

///
/// 获取上传文件存放目录。
///
/// 存放文件的物理路径。
/// 返回存放文件的目录。
private static string GetSaveDirectory(string DirectoryPath)
{
if (!Directory.Exists(DirectoryPath))  // 判断当前目录是否存在。
{
    Directory.CreateDirectory(DirectoryPath);  // 建立上传文件存放目录。
}
return DirectoryPath;
}

///
/// 获取文件扩展名
///
///
///
private static string GetExtension(string fileName)
{
try
{
    int startPos = fileName.LastIndexOf(".");
    string ext = fileName.Substring(startPos, fileName.Length - startPos);
    return ext;
}
catch
{
    return string.Empty;
}
}
///
/// 获取不带扩展名的文件名
///
///
///
private static string GetFileName(string fileName)
{
try
{
    fileName = fileName.Replace(@"/", @"");
    int startPos = fileName.LastIndexOf(@"");
    int endPos = fileName.LastIndexOf(@".");
    string ext = fileName.Substring(startPos + 1, fileName.Length - (startPos + 1) - (fileName.Length - endPos));
    return ext;
}
catch
{
    return string.Empty;
}
}
///
/// 删除指定文件
///
/// 文件绝对路径
private static void DeleteFile(string strAbsolutePath)
{ // www.
//判断要删除的文件是否存在
if (File.Exists(strAbsolutePath))
{
    //删除文件
    File.Delete(strAbsolutePath);
}
}
///
/// 删除指定文件
///
/// 文件绝对路径
/// 文件名
private static void DeleteFile(string strAbsolutePath, string strFileName)
{
//判断路径最后有没有符号,没有则自动加上
if (strAbsolutePath.LastIndexOf("\") == strAbsolutePath.Length)
{
    //判断要删除的文件是否存在
    if (File.Exists(strAbsolutePath + strFileName))
    {
//删除文件
File.Delete(strAbsolutePath + strFileName);
    }
}
else
{
    if (File.Exists(strAbsolutePath + "\" + strFileName))
    {
File.Delete(strAbsolutePath + "\" + strFileName);
    }
}
}
    }
}


    
 
 

您可能感兴趣的文章:

  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net防止页面重复提交(示例)
  • asp.net数据绑定时动态改变值(示例)
  • asp.net正则表达式提取中文的代码示例
  • asp.net页面防止重复提交示例分享
  • asp.net获取网站目录物理路径示例
  • ASP.NET Dictionary 的基本用法示例介绍
  • Asp.net中的数据绑定Eval和Bind应用示例
  • ASP.NET中上传并读取Excel文件数据示例
  • asp.net禁止重复提交示例代码
  • asp.net页面中时间格式化的示例
  • asp.net datalist绑定数据后可以上移下移实现示例
  • asp.net 发送邮件的简单示例
  • asp.net DataSet转换成josn并输出示例
  • ASP.NET取得所有颜色值示例
  • asp.net使用jQuery获取RadioButtonList成员选中内容和值示例
  • asp.net获取网站绝对路径示例
  • asp.net错误处理Application_Error事件示例
  • asp.net利用存储过程实现模糊查询示例分享
  • asp.net Timer定时器用法示例
  • asp.net在图片上添加水印效果的代码示例
  • asp.net超时时间与上传文件大小的设置方法
  • asp.net上传文件小例子
  • asp.net简单的文件上传代码
  • asp.net解决上传4M文件限制
  • asp.net 大文件上传问题的解决方法
  • ASP.NET MVC处理文件上传的例子
  • asp.net上传并读取Excel文件的例子
  • ASP.net WebAPI 上传图片实例
  • c# UpdatePanel无刷新上传图片 asp.net无刷新上传
  • asp.ent 图片上传数据库的代码(c#)
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ??谁能把ASP代码改为JSP的
  • asp.net文字水印功能简单代码
  • asp连接sql server 2005的代码
  • asp.net读取本地与全局资料文件的代码
  • asp.net 获取目录中图片的代码
  • 如何在ASP的frame框架中屏蔽右键,以防止查看页面的源代码?
  • asp 正则 过滤重复字符串的代码
  • asp正则过滤重复字符串的代码
  • asp去掉html,保留img br p div的正则实现代码
  • asp.net使用mshtml处理html的代码
  • asp.net 判断当前日期是该年中第几周的代码
  • asp.net中利用正则表达式判断一个字符串是否为数字的代码
  • asp.net弹出消息框、确认框的代码汇总
  • asp.net 获取ashx中数据的代码
  • asp.net防止页面刷新重复提交的代码
  • asp.net读取txt文件内容的代码
  • asp.net文件分块下载的实现代码
  • asp.net 正则表达式匹配图片路径的实现代码
  • [asp]中的正则表达式运用代码
  • asp.net静态方法弹出对话框的一例代码
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net实例 定义和使用asp:AccessDataSource
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • mysql iis7站长之家
  • ASP和ASP.Net共享Session解决办法
  • 通过socket和asp打交道


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3