Ajax怎么上传文件到服务器

62次阅读
没有评论

共计 2954 个字符,预计需要花费 8 分钟才能阅读完成。

这篇文章主要介绍了 Ajax 怎么上传文件到服务器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇 Ajax 怎么上传文件到服务器文章都会有所收获,下面我们一起来看看吧。

上传文件是常要处理的事情,使用 ajaxFileUpload.js 处理比较方便,这里的 ajaxFileUpload.js 文件修改过的

Html 部分

input type= file  id= fu_UploadFile  name= fu_UploadFile  value=  title= 上传附件 
 input type= button  value= 上传   quot;upload()  /

JS 部分

 function upload() { var path = document.getElementById( fu_UploadFile).value; if ($.trim(path) ==  ) { alert( 请选择要上传的文件  return; } console.log( test  var result_msg =  
 $.ajaxFileUpload({ url:  /UpFile.ashx , // 这里是服务器处理的代码
 type:  post , secureuri: false, // 一般设置为 false
 fileElementId:  fu_UploadFile , //  上传文件的 id、name 属性名
 dataType:  json , // 返回值类型,一般设置为 json、application/json
 data: {}, // 传递参数到服务器
 success: function (data, status) { if (data.Result) { alert( 文件成功处理完成!  + data.FileName);
 } else { alert( 文件成功处理出错!原因: + data.ErrorMessage);
 }
 }, error: function (data, status, e) {
 alert( 错误:上传组件错误,请检察网络! 
 }
 });
 }

服务器:

 ///  summary 
 /// UpFile  的摘要说明
 ///  /summary 
 public class UpFile : IHttpHandler
 { public void ProcessRequest(HttpContext context) {
 context.Response.ContentType =  text/plain 
 UpFileResult result = new UpFileResult(); try
 { HttpPostedFile _upfile = context.Request.Files[ fu_UploadFile  if (_upfile == null)
 { throw new Exception( 请先选择文件! } else
 { string fileName = _upfile.FileName;/* 获取文件名: C:Documents and SettingsAdministrator 桌面 123.jpg*/
 string suffix = fileName.Substring(fileName.LastIndexOf( .) + 1).ToLower();/* 获取后缀名并转为小写: jpg*/
 int bytes = _upfile.ContentLength;// 获取文件的字节大小  
 //
 if (!(suffix ==  jpg  || suffix ==  gif  || suffix ==  png || suffix ==  jpeg)) throw new Exception(只能上传 JPE,GIF,PNG 文件  if (bytes   1024 * 1024*10) throw new Exception(文件最大只能传 10M  string newfileName = DateTime.Now.ToString( yyyyMMddHHmmss  string fileDir = HttpContext.Current.Server.MapPath( ~/upfiles/  if (!Directory.Exists(fileDir))
 { Directory.CreateDirectory(fileDir);
 }
 result.FileName = fileName;
string saveDir = fileDir + newfileName +  .  + suffix;
 result.FileURL =  ~/upfiles/  + newfileName +  .  + suffix;
 _upfile.SaveAs(result.FileURL);// 保存图片  
 
 }
 } catch (System.Exception ex)
 {
 result.Result = false;
 result.ErrorMessage = ex.Message;
 }
 context.Response.Write(JsonHelper.SerializeObject(result)); 
 } public bool IsReusable
 { get
 { return false;
 }
 } public class UpFileResult //: AshxCommonResult
 { public bool Result { get; set; } public string ErrorMessage { get; set; } public string FileName { get; set; } public string FileURL { get; set; }
 }

ajaxfileupload.js

jQuery.extend({ 
 handleError: function (s, xhr, status, e) { // If a local callback was specified, fire it
 if (s.error) {
 s.error.call(s.context || s, xhr, status, e);
 } // Fire the global callback
 if (s.global) {
 (s.context ? jQuery(s.context) : jQuery.event).trigger(ajaxError , [xhr, s, e]);
 }
 },
 createUploadIframe: function(id, uri)
 { //create frame
 var frameId =  jUploadFrame  + id; var iframeHtml =  iframe id=  + frameId +   name=  + frameId +    >

关于“Ajax 怎么上传文件到服务器”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Ajax 怎么上传文件到服务器”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计2954字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)