日期:2014-05-19  浏览次数:20494 次

ajax:如何实现上传图片的功能呢?
要求:把File控件browser...的图片存放在数据库 "image "字段。
使用ajax来实现。不知如何传递。我的ajax基本结构是:
.aspx.cs页面:

Page_Load()
{
      Ajax.Utility.RegisterTypeForAjax(typeof(Mgao.Web.CreateItem));
}

[Ajax.AjaxMethod()]
public   static   void   AddItemProperty(string   itemID,string   propertyID)
{
      Mgao.Bll.MgaoBll.AddItemProperty(itemID,propertyID);
}

.aspx页面是:
function   Save()
{
      var   itemID   =   document.getElementById( "dropItem ").value;
      var   propertyID   =   document.getElementById( "dropProperty ").value;
      //.........怎么把图片参数存放进去呢?
      CreateItem.SaveItemNoProperty(itemID,propertyID,Save_CallBack);
}
function   Save_CallBack(res)
{
      ;
}

现在的问题是,我把一些控件如下拉条的参数都传过去了,但是上传文件的File控件却不知如何设参数。
大家帮帮忙吧。



------解决方案--------------------
我一直觉的ajax是无法实现异步上传的...
应该用iframe为好
------解决方案--------------------
应该用楼上的方法
------解决方案--------------------
关键用ajax, 用javascript操作本地上传文件..然后转换成二进制传送. .很多用户的电脑是不允许的...所以根本不可能的. 至少我觉的肯定是不可能的...
------解决方案--------------------
那就是用iframe啊..模拟不刷新提交.. 举个例子

<form id= "form1 " runat= "server " method= "post " target= "upload_iframe " enctype= "multipart/form-data " onsubmit= "return false; ">
<iframe name= "upload_iframe " style= "display:none; "> </iframe>
</form>

form表单提交向iframe 由它来进行保存..