關於Uploadify檔案上傳 io error
阿新 • • 發佈:2019-02-05
<link rel="Stylesheet" href="js/uploadify.css" /> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/swfobject.js"></script> <script type="text/javascript" src="js/jquery.uploadify.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $("#uploadify").uploadify({ 'uploader': 'js/uploadify.swf', 'script': 'UploadHandler.ashx', 'cancelImg': 'js/cancel.png', 'folder': 'upload', 'queueID': 'fileQueue', 'auto': false, 'multi': true, 'buttonImg': 'images/updaload.jpg', 'sizeLimit': '99999999999' // 注意這裡,這是檔案大小。。。 }); }); </script>
<div id="fileQueue">
<input type="file" name="uploadify" id="uploadify" />
<a href="javascript:$('#uploadify').uploadifyUpload()">上傳</a>| <a href="javascript:$('#uploadify').uploadifyClearQueue()">
取消上傳</a>
</div>
下面是UploadHandler.ashx裡的程式碼 網上都有,自己記下以後忘記了可以拿出來看看
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Charset = "utf-8"; HttpPostedFile file = context.Request.Files["Filedata"]; string uploadPath = HttpContext.Current.Server.MapPath(@context.Request["folder"]) + "\\"; if (file != null) { if (!System.IO.Directory.Exists(uploadPath)) { System.IO.Directory.CreateDirectory(uploadPath); } file.SaveAs(uploadPath + file.FileName); //下面這句程式碼缺少的話,上傳成功後上傳佇列的顯示不會自動消失 context.Response.Write("1"); } else { context.Response.Write("0"); } }
一切都很正常 但是上傳檔案大於5M時 就出現 IO Error的錯誤
解決方法 參見第一段程式碼 加入 'sizeLimit': '99999999999' 設定檔案的大小
僅僅是這樣 依舊會報錯 還需要在web.config 的<system.web>中加入
<httpRuntime maxRequestLength="999999999" executionTimeout="50000" />
再試一次 解決了
PS 上傳按鈕本來是英文的 在JS 設定一下你想要按鈕的背景圖片就好了
'buttonImg': 'images/updaload.jpg',