当前位置: 代码迷 >> ASP.NET >> ajax 图片上传解决办法
  详细解决方案

ajax 图片上传解决办法

热度:6509   发布时间:2013-02-25 00:00:00.0
ajax 图片上传
我现在要用ajax做一个上传图片的方法
现在在后我已经写好了上传的方法。但是在前台我不知道怎么获取图片的对象到后台,(request.files)获取不到这个值
看了网上有通过框架做的,但是我一直不明白原理,
想问下:怎么用ajax或js的方法将file的图片对象传递到后台

------解决方案--------------------------------------------------------
C# code
/// <summary> /// 上传图片 c# /// </summary> /// <param name= "fileNamePath "> 文件路径 </param> /// <param name= "uriString "> 保存路径 </param> /// using System.IO; /// using System.Net; private void UpLoadFile(string fileNamePath,string uriString)  {  string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf( "\\ ") + 1);  string NewFileName = DateTime.Now.ToString( "yyMMddhhmmss ") + DateTime.Now.Millisecond.ToString() + fileNamePath.Substring(fileNamePath.LastIndexOf( ". "));     string fileNameExt = fileName.Substring(fileName.LastIndexOf( ". ") + 1);  if(uriString.EndsWith( "/ ") == false) uriString = uriString + "/ ";     uriString = uriString + NewFileName;  /// 创建WebClient实例  WebClient myWebClient = new WebClient();  myWebClient.Credentials = CredentialCache.DefaultCredentials;     // 要上传的文件  // FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);  FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);  //FileStream fs = OpenFile();  BinaryReader r = new BinaryReader(fs);  // try  // {  //使用UploadFile方法可以用下面的格式  //myWebClient.UploadFile(uriString, "PUT ",fileNamePath);  byte[] postArray = r.ReadBytes((int)fs.Length);  Stream postStream = myWebClient.OpenWrite(uriString, "PUT ");  if(postStream.CanWrite)  {  postStream.Write(postArray,0,postArray.Length);  }  else  {  Response.Write( "文件目前不可写! ");  }  postStream.Close();    }
  相关解决方案