将图片保存到表中并用ajax技术获取图片
创建用于保存图片的表:
create table stockImages
( imageid int primary key identity(1,1),
[filename] varchar(50),
img varbinary(max))
插入本地图片:
insert into stockImages
select '风景',bulkcolumn
from openrowset(bulk 'd:\\img.jpg',single_blob) as x
创建存储过程,检索图片,将二进制数据包含在XML文档片段中:
create proc getImage @id int
as
declare @xmlResult xml
set @xmlResult=(select * from stockImages where imageid=@id for xml auto,elements,root('Items'),binary base64)
select @xmlResult
使用一般处理文件获取检索到得XML文档并发送到客户端:
<%@ WebHandler Language="C#" Class="ImageHandler" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Xml;
public class ImageHandler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
string connectionString =
ConfigurationManager.ConnectionStrings[
"uploadConnectionString"].ConnectionString;
SqlConnection connection = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("getImage", connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@id", SqlDbType.Int).Value = context.Request.QueryString["id"];
try
{
connection.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
相关文档:
有很久一段时间我的BLOG上没有出现AJAX相关讯息了,主要当然是因为绝大部分的重心都放到了Silverlight身上(可预期的未来应该也会是如此)。
但由于工作上的需要,最近还是回头看了一下即将推出的ASP.NET Ajax Library...,顺便找了一下网络上的讯息,看这个态势我猜想应该不少ASP.NET开发人员忽略掉了这个其实已经bet ......
<html>
<head>
<title>jQuery Ajax 实例演示</title>
</head>
<script language="javascript" src="../lib/jquery.js"></script>
<script language="javascript">
$(document).ready(function ()
{
$('#send_ajax').click(function (){
  ......
JS文件
//以下为jquery代码
$(document).ready(function(){
$("#jqbtn").click(function(){
  ......
JSON插件提供了一种名为json的ResultType,一旦为某个Action指定了一个类型为json的Result,则该Result无需映射到任何视图资源。因为JSON插件会负责将Action里的状态信息序列化成JSON格式的数据,并将该数据返回给客户端页面的JavaScript。
简单地说,JSON插件允许我们在JavaScript中异步调用Action,而且Action不再需 ......
Client端
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script language="javascript">
var XmlHttp=new ActiveXObject("Microsoft.XMLhttp");
function sendAJAX()
{
&nb ......