上传图片后使用数据库保存图片的示例分享

代码如下:

HttpPostedFile UpFile = File1.PostedFile;
int FileLenght = UpFile.ContentLength;
decimal FileSize = FileLenght / 1024;
if (FileLenght == 0)
{
    DIVShowGVError.Visible = true;
    LblShowGVError.Text = "请选择上传文件";
    return;
}
string strImageName = UpFile.FileName;
string strImageType = strImageName.Substring(strImageName.LastIndexOf(".")).ToLower();
if (strImageType != ".jpg" && strImageType != ".jpeg" && strImageType != ".bmp" && strImageType != ".png")
{
    DIVShowGVError.Visible = true;
    LblShowGVError.Text = "請上傳以下文件格式的圖片:jpg,jpeg,bmp,png";
    return;
}
if (FileSize > 2048)
{
    DIVShowGVError.Visible = true;
    LblShowGVError.Text = "上傳圖片不能大於2M";
    return;
}
else
{
    Byte[] FileByteArray = new Byte[FileLenght];
    Stream StreamObject = UpFile.InputStream;
    StreamObject.Read(FileByteArray, 0, FileLenght);

strNewLeave = "insert into [Leave]([ID],[EmployeeNo],[AgentID],[LeaveType],[StartDate],[EndDate],[Hours],[LeaveReason],[ReportTime],[ReportID],[ImageName],[ImageData]) ";
    strNewLeave += "values(@LeaveNo,@EmpNo,@AgentName,@LeaType,@StartDate,@EndDate,@Hours,@Reason,getdate(),@Admin,@ImageName,@Image) ";

sqlPara = new SqlParameter[] {
    new SqlParameter("@LeaveNo",strLeaNo),
    new SqlParameter("@EmpNo",strEmpNo),
    new SqlParameter("@AgentName",strAgentID),
    new SqlParameter("@LeaType",strLeaType),
    new SqlParameter("@StartDate",strDateSt),
    new SqlParameter("@EndDate",strDateEnd),
    new SqlParameter("@Hours",strHours),
    new SqlParameter("@Reason",strReason),
    new SqlParameter("@Admin",strAdmin),
    new SqlParameter("@ImageName",strImageName),
    new SqlParameter("@Image",FileByteArray)
    };

StreamObject.Close();
}

代码如下:

SQLHelper sqlH = new SQLHelper();
        string strID = context.Request["ID"];
        byte[] MyData = new byte[0];
        string str = "  select [ImageData] from [Leave] where [ID]='" + strID + "' ";
        DataTable dt = sqlH.ExecuteQuery(str, CommandType.Text);
        if (dt.Rows.Count > 0)
        {
MyData = (byte[])dt.Rows[0][0];
int ArraySize = MyData.GetUpperBound(0);

context.Response.OutputStream.Write(MyData, 0, ArraySize);
        }

(0)

相关推荐

  • openfiledialog读取txt写入数据库示例

    WinForm 中添加 openFileDialog Button, WinForm .cs 中添加本地.mdf,如下: 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms; namespace txt记事本文件的读写{    static class Program    {        /// <summary>        /// 应

  • java自定义动态链接数据库示例

    复制代码 代码如下: package dao; import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.cfg.Configuration; /** * @author minxuenetcn */public class HibernateSessionFactory { private final ThreadLocal<Session> threadLocal =

  • sqlserver备份还原数据库功能封装分享

    复制代码 代码如下: using System;using SQLDMO; namespace EDTBackupTool{ /// <summary> /// Backup 的摘要说明. /// </summary> public class SQLTools {   public static bool Backup(string backfile){   try   {    SQLDMO.Backup backup = new BackupClass();    SQLDM

  • sql2000数据库清除重复数据的二种方法

    使用游标实现 复制代码 代码如下: declare @id1 int,@oldid int,@e_REcordid int ,@Olde_REcordid intDECLARE price CURSORFOR SELECT id ,E_recordId FROM evaeve order by  E_recordId descOPEN priceFETCH NEXT FROM price  into @oldid,@Olde_REcordidwhile @@fetch_status  = 0be

  • sql server 2008数据库连接字符串大全

    一..NET Framework Data Provider for SQL Server类型:.NET Framework类库使用:System.Data.SqlClient.SqlConnection厂商:Microsoft 1.标准安全连接 复制代码 代码如下: Data Source = myServerAddress;Initial Catalog = myDataBase;User Id = myUsername;Password = myPassword; 使用服务器名\实例名作为

  • net操作access数据库示例分享

    复制代码 代码如下: using System;using System.Data;using System.Configuration;using System.Linq;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.Web

  • mysql跨数据库复制表(在同一IP地址中)示例

    数据库表间数据复制分类 在利用数据库开发时,常常会将一些表之间的数据互相导入.当然可以编写程序实现,但是,程序常常需要开发环境,不方便.最方便是利用sql语言直接导入.既方便而修改也简单.以下就是导入的方法. 1. 表结构相同的表,且在同一数据库(如,table1,table2) Sql : 复制代码 代码如下: insert into table1 select   *    from table2 (完全复制)insert into table1 select   distinct   * 

  • Drupal读取Excel并导入数据库实例

    PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等. 一.Drupal 通过Library 调用 PHPExcel将PHPExcel 下载后,上传到Drupal目录:si

  • 在linux中导入sql文件的方法分享(使用命令行转移mysql数据库)

    因导出sql文件 在你原来的网站服务商处利用phpmyadmin导出数据库为sql文件,这个步骤大家都会,不赘述. 上传sql文件 前面说过了,我们没有在云主机上安装ftp,怎么上传呢? 打开ftp客户端软件,例如filezilla,使用服务器IP和root及密码,连接时一定要使用SFTP方式连接,这样才能连接到linux.注意,这种方法是不安全的,但我们这里没有ftp,如果要上传本地文件到服务器,没有更好更快的方法. 我们把database.sql上传到/tmp目录. 连接到linux,登录m

  • Drupal7连接多个数据库及常见问题解决

    如果你遇到这些问题:1.Drupal如何连接到多个数据库?2.Drupal连接到多个数据库后,但是发现程序报错,这是怎么了?3.Drupal获取.添加.修改.删除多个数据库时,数据没有正确的写入数据库或者读取到空的数据,怎么解决?4.只想在Drupal某个函数调用或控制其他数据库,但是失败了?请认真看看后面的介绍,并如何解决你的问题.一.Drupal如何连接到多个数据库?允许Drupal连接多个数据库,需要转换$db_url为数组.默认连接单个数据库的URL格式(字符串): 复制代码 代码如下:

  • Drupal7中常用的数据库操作实例

    1.插入单条记录 复制代码 代码如下: db_insert("table")->fields(array('field1' => 'value1', 'field2' => 'value2', 'fieldn' => $valuen))->execute(); 2.插入多条记录 复制代码 代码如下: $values[] = array('field1' => 'val1', 'field2' => 'val2', 'fieldn' =>

  • android通过jxl读excel存入sqlite3数据库

    复制代码 代码如下: package com.demo.day20140228; import java.io.File;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import java.sql.Statement; import jxl.Cell;import jxl.Sheet;import jx

  • php把session写入数据库示例

    复制代码 代码如下: <?phpclass session_handler { protected $maxlifetime = null; protected $dbHandle = null; public $config = null; public static function init($args) {  return new self($args); } public function __construct($args) { $this->config = $args;  $t

  • js读取被点击次数的简单实例(从数据库中读取)

    是每次点击时获取一共点击了多少次是吧 1.可以再服务器端拖一个隐藏的隐藏的button控件,然后写button的Click事件,这个事件的作用是从数据库中调取一共被点击的次数. 2.把被点击的次数赋给一个隐藏的TextBox控件的Text属性. 3.在你的js函数validata()里触发服务器端的button控件的click事件 fuction validata()" { document.getElementById("Button1").click(); var num

  • MySQL数据库命名规范及约定

    一.[操作规范]1. 如无备注,则表中的第一个id字段一定是主键且为自动增长:2. 如无备注,则数值类型的字段请使用UNSIGNED属性:3. 如无备注,排序字段order_id在程序中默认使用降序排列:4. 如无备注,所有字段都设置NOT NULL,并设置默认值:5. 如无备注,所有的布尔值字段,如is_hot.is_deleted,都必须设置一个默认值,并设为0:6. 所有的数字类型字段,都必须设置一个默认值,并设为0:7. 针对varchar类型字段的程序处理,请验证用户输入,不要超出其预

  • java使用jdbc操作数据库示例分享

    package dao; import java.sql.*; public class BaseDao { //oracle// private  static final String Dirver="oracle.jdbc.driver.OracleDriver";// private  static final String URL="jdbc:oracle:thin:@localhost:1521:XE";// private  static final

  • 四种数据库随机获取10条数据的方法

    四种数据库随机获取10条数据的方法 SQL Server: 复制代码 代码如下: SELECT TOP 10 * FROM T_USER ORDER BY NEWID() ORACLE: 复制代码 代码如下: SELECT * FROM (SELECT * FROM T_USER ORDER BY DBMS_RANDOM.RANDOM()) WHERE RONUM <= 10 MySQL: 复制代码 代码如下: SELECT * FROM T_USER  ORDER BY  RAND() LIM

  • linux数据库备份并通过ftp上传脚本分享

    复制代码 代码如下: #!/bin/bash #author: 505056357@qq.com echo "backup job start" #设置要备份的网站目录,即是网站的根目录 file=/home/wwwroot/default #设置本地备份目录,用于存放打包后的文件 backpath=/home/wwwroot/bkdata/ dbuser=root #数据密码,要记得用单引号将把整个密码引起来,如果密码中有单引号就用双引号,嘿嘿 dbpwd='123456' dbna

随机推荐