62,267
社区成员
发帖
与我相关
我的任务
分享
CREATE TABLE FileList (
FileID bigint IDENTITY (1, 1) NOT NULL ,
FileName nvarchar(50) NOT NULL ,
FileData image NOT NULL ,
FileLength int NOT NULL ,
Mime varchar(20) NOT NULL ,
UploadDate datetime NULL DEFAULT getdate()
)
GO
protected void btnUpload_Click(object sender, EventArgs e)
{
//如果选择了文件进行上传
if (FileUpload1.HasFile)
{
string fileName = FileUpload1.FileName;
int contentLength = FileUpload1.PostedFile.ContentLength;
string mime = FileUpload1.PostedFile.ContentType;
byte[] data = FileUpload1.FileBytes;
//所有图片文件的MIME都是以image/开始的,如:jpg图片的Mime为:image/pjpeg
//如果上传的是图片文件
if (mime.StartsWith("image/"))
{
string sql = "insert into FileList(FileName,FileData,FileLength,Mime)values(@FileName,@FileData,@FileLength,@Mime)";
SqlParameter[] parameters = new SqlParameter[4];
parameters[0] = new SqlParameter("@FileName", SqlDbType.NVarChar, 50);
parameters[0].Value = fileName;
parameters[1] = new SqlParameter("@FileData", SqlDbType.Image, int.MaxValue);
parameters[1].Value = data;
parameters[2] = new SqlParameter("@FileLength", SqlDbType.Int, 4);
parameters[2].Value = contentLength;
parameters[3] = new SqlParameter("@Mime", SqlDbType.VarChar, 50);
parameters[3].Value = mime;
SqlDbHelper helper = new SqlDbHelper(ConfigurationManager.ConnectionStrings["Conn"].ConnectionString);
if (helper.ExecuteNonQuery(sql, CommandType.Text, parameters) > 0)
{
Response.Write("<script language='javascript'>alert('上传成功!');</script>");
}
else
{
Response.Write("<script language='javascript'>alert('上传失败');</script>");
}
}
else
{
Response.Write("<script language='javascript'>alert('请上传图片文件');</script>");
}
}
else
{
Response.Write("<script language='javascript'>alert('请选择上传文件');</script>");
}
}
CREATE TABLE [dbo].[ST_Image](
[ID] [int] IDENTITY(1,1) NOT NULL,
[ImageData] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
#region Insert
/// <summary>
/// 新增操作
/// </summary>
/// <param name="e">ST_ImageEntity实体</param>
/// <returns>自增编号</returns>
public override int Insert( ST_ImageEntity e ) {
//构造SQL语句
string sql = "INSERT INTO [ST_Image] (ImageData)VALUES(@ImageData); SELECT @@Identity";
//构造参数
SqlParameter[] parameters = {
new SqlParameter("@ImageData",SqlDbType.Image),
};
//为参数赋值
int i = 0;
parameters[ i++ ].Value = e.ImageData;
//执行SQL语句
try {
object obj = db.ExecuteScalar( CommandType.Text, sql, parameters ) ?? "-1";
int Identity;
if( int.TryParse( obj.ToString(), out Identity ) )
return Identity;
return -1;
} catch( Exception exp ) {
throw exp;
}
}
#endregion