有一次在群里聊天,大家都在讨论Ajax能上传图片吗?讨论的很激烈。当然是分成两派,有的人说不行,有的人说行。我是属于旁观者,因为我也不知道行还是不行从没有做过。我想只有自己尝试过才能知道行和不行。最近正好也在开发一套图书管理系统。正好尝试一次到底看看行不行。下面是我用Ajax控件做的一个上传图书封面的部分代码与大家一起分享。希望对大家有用。
Image_Save.cs
[AjaxPro.AjaxMethod]
public int Change_Image(string file,int bookid)
{
string filepath = file;
FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
Byte[] CharImgContent = new byte[0];
BinaryReader br = new BinaryReader(fileStream);
br.BaseStream.Seek(0, SeekOrigin.Begin);
CharImgContent = br.ReadBytes((int)br.BaseStream.Length);
SqlConnection my_imgcn = SqlHelper.CreateConnect();
SqlParameter[] dlistimg ={
new SqlParameter("@pic",SqlDbType.Image),
new SqlParameter("@bookid",SqlDbType.Int),
new SqlParameter("@ret",SqlDbType.Int)
};
dlistimg[0].Value = CharImgContent;
dlistimg[1].Value = bookid;
dlistimg[2].Direction = ParameterDirection.Output;
SqlHelper.ExecRunProce("", my_imgcn, dlistimg);
int intRet = Convert.ToInt32(dlistimg[2].Value);
if (intRet == 0)
{
return 0;
}
else
{
return 1;
}
}
javascript
function iamge_visible()
{
var div_img=document.getElementById("div_img");
var file1=document.getElementById("File_Upload");
var img_1=document.getElementById("img_pic");
var div_status=document.getElementById("div_status");
var lb_error=document.getElementById("lb_error");
var img_pic=document.getElementById("img_status");
var hid_bookid=document.getElementById("hid_bookid");
div_img.style.visibility="visible";
img_1.src=file1.value;
status();
Admin_bookLiulanProp.Change_Image(file1.value,hid_bookid.value,iamge_visible_callbak);
}
function status()
{
div_status.style.visibility="visible";
img_pic.src="../images/loading.gif";
lb_error.innerHTML="正在加载...";
}
function iamge_visible_callbak(res)
{
if(res.value==0)
{
//alert('成功!');
div_status.style.visibility="visible";
img_pic.src="../images/true.jpg";
lb_error.innerHTML="更改成功!";
}
else
{
// alert('失败');
div_status.style.visibility="visible";
img_pic.src="../images/false.jpg";
lb_error.innerHTML="更改成功!";
// lb_error.value="更改失败!";
}
}
Image_Save.cs
[AjaxPro.AjaxMethod]
public int Change_Image(string file,int bookid)
{
string filepath = file;
FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
Byte[] CharImgContent = new byte[0];
BinaryReader br = new BinaryReader(fileStream);
br.BaseStream.Seek(0, SeekOrigin.Begin);
CharImgContent = br.ReadBytes((int)br.BaseStream.Length);
SqlConnection my_imgcn = SqlHelper.CreateConnect();
SqlParameter[] dlistimg ={
new SqlParameter("@pic",SqlDbType.Image),
new SqlParameter("@bookid",SqlDbType.Int),
new SqlParameter("@ret",SqlDbType.Int)
};
dlistimg[0].Value = CharImgContent;
dlistimg[1].Value = bookid;
dlistimg[2].Direction = ParameterDirection.Output;
SqlHelper.ExecRunProce("", my_imgcn, dlistimg);
int intRet = Convert.ToInt32(dlistimg[2].Value);
if (intRet == 0)
{
return 0;
}
else
{
return 1;
}
}
javascript
function iamge_visible()
{
var div_img=document.getElementById("div_img");
var file1=document.getElementById("File_Upload");
var img_1=document.getElementById("img_pic");
var div_status=document.getElementById("div_status");
var lb_error=document.getElementById("lb_error");
var img_pic=document.getElementById("img_status");
var hid_bookid=document.getElementById("hid_bookid");
div_img.style.visibility="visible";
img_1.src=file1.value;
status();
Admin_bookLiulanProp.Change_Image(file1.value,hid_bookid.value,iamge_visible_callbak);
}
function status()
{
div_status.style.visibility="visible";
img_pic.src="../images/loading.gif";
lb_error.innerHTML="正在加载...";
}
function iamge_visible_callbak(res)
{
if(res.value==0)
{
//alert('成功!');
div_status.style.visibility="visible";
img_pic.src="../images/true.jpg";
lb_error.innerHTML="更改成功!";
}
else
{
// alert('失败');
div_status.style.visibility="visible";
img_pic.src="../images/false.jpg";
lb_error.innerHTML="更改成功!";
// lb_error.value="更改失败!";
}
}