Asp.net源码专业站
首页->博客空间->简单实用的个人Blog站点源码>>admin/ftb.imagegallery.aspx>>源码在线查看
温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:简单实用的个人Blog站点源码
当前文件:文件类型 personalBlog/admin/ftb.imagegallery.aspx[14K,2009-6-12 11:51:58]打开代码结构图
普通视图
		            
1<%@ Page language="c#" %> 2<script runat="server"> 3 4// Messages 5private string NoFileMessage = "您没有选择文件。"; 6private string UploadSuccessMessage = "上传成功"; 7private string UploadFailureMessage = "上传失败。"; 8private string NoImagesMessage = "该文件夹不存在或者是空的"; 9private string NoFolderSpecifiedMessage = "您要上传到的文件夹不存在。"; 10private string NoFileToDeleteMessage = "您没有选中要删除的文件。"; 11private string InvalidFileTypeMessage = "您无法上传这种类型的文件。"; 12private string[] AcceptedFileTypes = new string[] {"jpg","jpeg","jpe","gif","png"}; 13 14// Configuration 15private bool UploadIsEnabled = true; // 是否允许上传文件 16private bool DeleteIsEnabled = true; // 是否允许删除文件 17private string DefaultImageFolder = "upload"; // 默认的起始文件夹 18 19private void Page_Load(object sender, System.EventArgs e) { 20 string isframe = "" + Request["frame"]; 21 22 if (isframe != "") { 23 MainPage.Visible = true; 24 iframePanel.Visible = false; 25 26 string rif = "" + Request["rif"]; 27 string cif = "" + Request["cif"]; 28 29 if (cif != "" && rif != "") { 30 RootImagesFolder.Value = rif; 31 CurrentImagesFolder.Value = cif; 32 } else { 33 RootImagesFolder.Value = DefaultImageFolder; 34 CurrentImagesFolder.Value = DefaultImageFolder; 35 } 36 37 UploadPanel.Visible = UploadIsEnabled; 38 DeleteImage.Visible = DeleteIsEnabled; 39 40 string FileErrorMessage = ""; 41 string ValidationString = ".*("; 42 //[\.jpg]|[\.jpeg]|[\.jpe]|[\.gif]|[\.png])$" 43 for (int i=0;i<AcceptedFileTypes.Length; i++) { 44 ValidationString += "[\\." + AcceptedFileTypes[i] + "]"; 45 if (i < (AcceptedFileTypes.Length-1)) ValidationString += "|"; 46 FileErrorMessage += AcceptedFileTypes[i]; 47 if (i < (AcceptedFileTypes.Length-1)) FileErrorMessage += ", "; 48 } 49 FileValidator.ValidationExpression = ValidationString+")$"; 50 FileValidator.ErrorMessage=FileErrorMessage; 51 52 if (!IsPostBack) { 53 DisplayImages(); 54 } 55 } else { 56 57 } 58} 59 60public void UploadImage_OnClick(object sender, EventArgs e) { 61 if (Page.IsValid) { 62 if (CurrentImagesFolder.Value != "") { 63 if (UploadFile.PostedFile.FileName.Trim() != "") { 64 if (IsValidFileType(UploadFile.PostedFile.FileName)) { 65 try { 66 string UploadFileName = ""; 67 string UploadFileDestination = ""; 68 UploadFileName = UploadFile.PostedFile.FileName; 69 UploadFileName = UploadFileName.Substring(UploadFileName.LastIndexOf("\\")+1); 70 UploadFileDestination = HttpContext.Current.Request.PhysicalApplicationPath; 71 UploadFileDestination += CurrentImagesFolder.Value; 72 UploadFileDestination += "\\"; 73 UploadFile.PostedFile.SaveAs(UploadFileDestination + UploadFileName); 74 ResultsMessage.Text = UploadSuccessMessage; 75 } catch(Exception ex) { 76 //ResultsMessage.Text = "Your file could not be uploaded: " + ex.Message; 77 ResultsMessage.Text = UploadFailureMessage; 78 } 79 } else { 80 ResultsMessage.Text = InvalidFileTypeMessage; 81 } 82 } else { 83 ResultsMessage.Text = NoFileMessage; 84 } 85 } else { 86 ResultsMessage.Text = NoFolderSpecifiedMessage; 87 } 88 } else { 89 ResultsMessage.Text = InvalidFileTypeMessage; 90 91 } 92 DisplayImages(); 93} 94 95public void DeleteImage_OnClick(object sender, EventArgs e) { 96 if (FileToDelete.Value != "" && FileToDelete.Value != "undefined") { 97 try { 98 string AppPath = HttpContext.Current.Request.PhysicalApplicationPath; 99 System.IO.File.Delete(AppPath + CurrentImagesFolder.Value + "\\" + FileToDelete.Value); 100 ResultsMessage.Text = "已删除: " + FileToDelete.Value; 101 } catch(Exception ex) { 102 ResultsMessage.Text = "删除失败。"; 103 } 104 } else { 105 ResultsMessage.Text = NoFileToDeleteMessage; 106 } 107 DisplayImages(); 108} 109 110private bool IsValidFileType(string FileName) { 111 string ext = FileName.Substring(FileName.LastIndexOf(".")+1,FileName.Length-FileName.LastIndexOf(".")-1); 112 for (int i=0; i<AcceptedFileTypes.Length; i++) { 113 if (ext == AcceptedFileTypes[i]) { 114 return true; 115 116 } 117 } 118 return false; 119} 120 121 122private string[] ReturnFilesArray() { 123 if (CurrentImagesFolder.Value != "") { 124 try { 125 string AppPath = HttpContext.Current.Request.PhysicalApplicationPath; 126 string ImageFolderPath = AppPath + CurrentImagesFolder.Value; 127 string[] FilesArray = System.IO.Directory.GetFiles(ImageFolderPath,"*"); 128 return FilesArray; 129 130 131 } catch { 132 133 return null; 134 } 135 } else { 136 return null; 137 } 138 139} 140 141private string[] ReturnDirectoriesArray() { 142 if (CurrentImagesFolder.Value != "") { 143 try { 144 string AppPath = HttpContext.Current.Request.PhysicalApplicationPath; 145 string CurrentFolderPath = AppPath + CurrentImagesFolder.Value; 146 string[] DirectoriesArray = System.IO.Directory.GetDirectories(CurrentFolderPath,"*"); 147 return DirectoriesArray ; 148 } catch { 149 return null; 150 } 151 } else { 152 return null; 153 } 154} 155 156public void DisplayImages() { 157 string[] FilesArray = ReturnFilesArray(); 158 string[] DirectoriesArray = ReturnDirectoriesArray(); 159 string AppPath = HttpContext.Current.Request.PhysicalApplicationPath; 160 string AppUrl; 161 162 //Get the application's URL 163 if (Request.ApplicationPath == "/") 164 AppUrl = Request.ApplicationPath; 165 else 166 AppUrl = Request.ApplicationPath + "/"; 167 168 GalleryPanel.Controls.Clear(); 169 if ( (FilesArray == null || FilesArray.Length == 0) && (DirectoriesArray == null || DirectoriesArray.Length == 0) ) { 170 gallerymessage.Text = NoImagesMessage + ": " + RootImagesFolder.Value; 171 } else { 172 string ImageFileName = ""; 173 string ImageFileLocation = ""; 174 175 int thumbWidth = 94; 176 int thumbHeight = 94; 177 178 if (CurrentImagesFolder.Value != RootImagesFolder.Value) { 179 180 System.Web.UI.HtmlControls.HtmlImage myHtmlImage = new System.Web.UI.HtmlControls.HtmlImage(); 181 myHtmlImage.Src = AppUrl + "admin/ftb/folder.up.gif"; 182 myHtmlImage.Attributes["unselectable"]="on"; 183 myHtmlImage.Attributes["align"]="absmiddle"; 184 myHtmlImage.Attributes["vspace"]="36"; 185 186 string ParentFolder = CurrentImagesFolder.Value.Substring(0,CurrentImagesFolder.Value.LastIndexOf("\\")); 187 188 System.Web.UI.WebControls.Panel myImageHolder = new System.Web.UI.WebControls.Panel(); 189 myImageHolder.CssClass = "imageholder"; 190 myImageHolder.Attributes["unselectable"]="on"; 191 myImageHolder.Attributes["onclick"]="divClick(this,'');"; 192 myImageHolder.Attributes["ondblclick"]="gotoFolder('" + RootImagesFolder.Value + "','" + ParentFolder.Replace("\\","\\\\") + "');"; 193 myImageHolder.Controls.Add(myHtmlImage); 194 195 System.Web.UI.WebControls.Panel myMainHolder = new System.Web.UI.WebControls.Panel(); 196 myMainHolder.CssClass = "imagespacer"; 197 myMainHolder.Controls.Add(myImageHolder); 198 199 System.Web.UI.WebControls.Panel myTitleHolder = new System.Web.UI.WebControls.Panel(); 200 myTitleHolder.CssClass = "titleHolder"; 201 myTitleHolder.Controls.Add(new LiteralControl("向上")); 202 myMainHolder.Controls.Add(myTitleHolder); 203 204 GalleryPanel.Controls.Add(myMainHolder); 205 206 } 207 208 foreach (string _Directory in DirectoriesArray) { 209 210 try { 211 string DirectoryName = _Directory.ToString(); 212 213 214 System.Web.UI.HtmlControls.HtmlImage myHtmlImage = new System.Web.UI.HtmlControls.HtmlImage(); 215 myHtmlImage.Src = AppUrl + "admin/ftb/folder.big.gif"; 216 myHtmlImage.Attributes["unselectable"]="on"; 217 myHtmlImage.Attributes["align"]="absmiddle"; 218 myHtmlImage.Attributes["vspace"]="29"; 219 220 System.Web.UI.WebControls.Panel myImageHolder = new System.Web.UI.WebControls.Panel(); 221 myImageHolder.CssClass = "imageholder"; 222 myImageHolder.Attributes["unselectable"]="on"; 223 myImageHolder.Attributes["onclick"]="divClick(this);"; 224 myImageHolder.Attributes["ondblclick"]="gotoFolder('" + RootImagesFolder.Value + "','" + DirectoryName.Replace(AppPath,"").Replace("\\","\\\\") + "');"; 225 myImageHolder.Controls.Add(myHtmlImage); 226 227 System.Web.UI.WebControls.Panel myMainHolder = new System.Web.UI.WebControls.Panel(); 228 myMainHolder.CssClass = "imagespacer"; 229 myMainHolder.Controls.Add(myImageHolder); 230 231 System.Web.UI.WebControls.Panel myTitleHolder = new System.Web.UI.WebControls.Panel(); 232 myTitleHolder.CssClass = "titleHolder"; 233 myTitleHolder.Controls.Add(new LiteralControl(DirectoryName.Replace(AppPath + CurrentImagesFolder.Value + "\\",""))); 234 myMainHolder.Controls.Add(myTitleHolder); 235 236 GalleryPanel.Controls.Add(myMainHolder); 237 } catch { 238 // nothing for error 239 } 240 } 241 242 foreach (string ImageFile in FilesArray) { 243 244 try { 245 246 ImageFileName = ImageFile.ToString(); 247 ImageFileName = ImageFileName.Substring(ImageFileName.LastIndexOf("\\")+1); 248 ImageFileLocation = AppUrl; 249 ImageFileLocation = ImageFileLocation.Substring(ImageFileLocation.LastIndexOf("\\")+1); 250 //galleryfilelocation += "/"; 251 ImageFileLocation += CurrentImagesFolder.Value; 252 ImageFileLocation += "/"; 253 ImageFileLocation += ImageFileName; 254 System.Web.UI.HtmlControls.HtmlImage myHtmlImage = new System.Web.UI.HtmlControls.HtmlImage(); 255 myHtmlImage.Src = ImageFileLocation; 256 System.Drawing.Image myImage = System.Drawing.Image.FromFile(ImageFile.ToString()); 257 myHtmlImage.Attributes["unselectable"]="on"; 258 //myHtmlImage.border=0; 259 260 // landscape image 261 if (myImage.Width > myImage.Height) { 262 if (myImage.Width > thumbWidth) { 263 myHtmlImage.Width = thumbWidth; 264 myHtmlImage.Height = Convert.ToInt32(myImage.Height * thumbWidth/myImage.Width); 265 } else { 266 myHtmlImage.Width = myImage.Width; 267 myHtmlImage.Height = myImage.Height; 268 } 269 // portrait image 270 } else { 271 if (myImage.Height > thumbHeight) { 272 myHtmlImage.Height = thumbHeight; 273 myHtmlImage.Width = Convert.ToInt32(myImage.Width * thumbHeight/myImage.Height); 274 } else { 275 myHtmlImage.Width = myImage.Width; 276 myHtmlImage.Height = myImage.Height; 277 } 278 } 279 280 if (myHtmlImage.Height < thumbHeight) { 281 myHtmlImage.Attributes["vspace"] = Convert.ToInt32((thumbHeight/2)-(myHtmlImage.Height/2)).ToString(); 282 } 283 284 285 System.Web.UI.WebControls.Panel myImageHolder = new System.Web.UI.WebControls.Panel(); 286 myImageHolder.CssClass = "imageholder"; 287 myImageHolder.Attributes["onclick"]="divClick(this,'" + ImageFileName + "');"; 288 myImageHolder.Attributes["ondblclick"]="returnImage('" + ImageFileLocation.Replace("\\","/") + "','" + myImage.Width.ToString() + "','" + myImage.Height.ToString() + "');"; 289 myImageHolder.Controls.Add(myHtmlImage); 290 291 292 System.Web.UI.WebControls.Panel myMainHolder = new System.Web.UI.WebControls.Panel(); 293 myMainHolder.CssClass = "imagespacer"; 294 myMainHolder.Controls.Add(myImageHolder); 295 296 System.Web.UI.WebControls.Panel myTitleHolder = new System.Web.UI.WebControls.Panel(); 297 myTitleHolder.CssClass = "titleHolder"; 298 myTitleHolder.Controls.Add(new LiteralControl(ImageFileName + "<BR>" + myImage.Width.ToString() + "x" + myImage.Height.ToString())); 299 myMainHolder.Controls.Add(myTitleHolder); 300 301 //GalleryPanel.Controls.Add(myImage); 302 GalleryPanel.Controls.Add(myMainHolder); 303 304 myImage.Dispose(); 305 } catch { 306 307 } 308 } 309 gallerymessage.Text = ""; 310 } 311} 312</script> 313<asp:panel id="MainPage" runat="server" visible="false"> 314<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" > 315<HTML> 316<HEAD> 317<META HTTP-EQUIV="Expires" CONTENT="0"> 318<title>插入图片</title> 319<style> 320 321body { 322 margin: 0px 0px 0px 0px; 323 padding: 0px 0px 0px 0px; 324 background: #ffffff; 325 width: 100%; 326 overflow:hidden; 327 border: 0; 328} 329 330body,tr,td { 331 color: #000000; 332 font-family: Verdana, Arial, Helvetica, sans-serif; 333 font-size: 10pt; 334} 335 336div.imagespacer { 337 width: 120; 338 height: 126; 339 text-align: center; 340 float: left; 341 font: 10pt verdana; 342 margin: 5px; 343 overflow: hidden; 344} 345div.imageholder { 346 margin: 0px; 347 padding: 0px; 348 border: 1 solid #CCCCCC; 349 width: 100; 350 height: 100; 351} 352 353div.titleholder { 354 font-family: ms sans serif, arial; 355 font-size: 8pt; 356 width: 100; 357 text-overflow: ellipsis; 358 overflow: hidden; 359 white-space: nowrap; 360} 361 362</style> 363 364 365<script language="javascript"> 366lastDiv = null; 367function divClick(theDiv,filename) { 368 if (lastDiv) { 369 lastDiv.style.border = "1 solid #CCCCCC"; 370 } 371 lastDiv = theDiv; 372 theDiv.style.border = "2 solid #316AC5"; 373 374 document.getElementById("FileToDelete").value = filename; 375 376} 377function gotoFolder(rootfolder,newfolder) { 378 window.navigate("ftb.imagegallery.aspx?frame=1&rif=" + rootfolder + "&cif=" + newfolder); 379} 380function returnImage(imagename,width,height) { 381 var arr = new Array(); 382 arr["filename"] = imagename; 383 arr["width"] = width; 384 arr["height"] = height; 385 window.parent.returnValue = arr; 386 window.parent.close(); 387} 388</script> 389</HEAD> 390<body> 391<table width=100% height=100% cellpadding=0 cellspacing=0 border=0> 392 393<FORM encType="multipart/form-data" runat="server"> 394 395<tr><td> 396 <div id="galleryarea" style="width=100%; height:100%; overflow: auto;"> 397 <asp:label id="gallerymessage" runat="server"></asp:label> 398 <asp:panel id="GalleryPanel" runat="server"></asp:panel> 399 </div> 400</td></tr> 401<asp:Panel id="UploadPanel" runat="server"> 402<tr><td height=16 style="padding-left:10px;border-top: 1 solid #999999; background-color:#99ccff;"> 403 404 <table> 405 <tr> 406 <td valign=top><input id="UploadFile" type="file" name="UploadFile" runat="server" style="width:300;"/></td> 407 <td valign=top><asp:button id="UploadImage" Text="上传" runat="server" onclick="UploadImage_OnClick" /></td> 408 <td valign=top><asp:button id="DeleteImage" Text="删除" runat="server" onclick="DeleteImage_OnClick" /></td> 409 <td valign=middle> 410 </tr> 411 <tr> 412 <td colspan=3> 413 <asp:RegularExpressionValidator runat="server" 414 ControlToValidate="UploadFile" 415 id="FileValidator" display="dynamic"/> 416 <asp:literal id="ResultsMessage" runat="server" /> 417 </td> 418 </tr></table> 419 <input type="hidden" id="FileToDelete" Value="" runat="server" /> 420 <input type="hidden" id="RootImagesFolder" Value="images" runat="server" /> 421 <input type="hidden" id="CurrentImagesFolder" Value="images" runat="server" /> 422</td></tr> 423</asp:panel> 424</form> 425</table> 426</body> 427</HTML> 428</asp:panel> 429<asp:panel id="iframePanel" runat="server" > 430<html> 431<head><title>插入图片</title></head> 432<style> 433body { 434 margin: 0px 0px 0px 0px; 435 padding: 0px 0px 0px 0px; 436 background: #ffffff; 437 overflow:hidden; 438} 439</style> 440<body> 441 <iframe style="width:100%;height:100%;border:0;" border=0 frameborder=0 src="ftb.imagegallery.aspx?frame=1&<%=Request.QueryString%>"></iframe> 442</body> 443</html> 444</asp:panel> 445
还没有找到您心仪的内容?请用.net源码大搜捕
代码片断 打包下载该项目完整源码:简单实用的个人Blog站点源码
51Aspx.com 版权所有 CopyRight © 2006-2010. 京ICP备06046876号 本站法律顾问:ITlaw-庄毅雄律师
返回顶部
客户服务:点击这里进行客户咨询 业务合作:点击这里洽谈业务合作 合作热线:010-68880146