日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

Asp.NET 的几个高级技巧

發布時間:2025/7/14 asp.net 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Asp.NET 的几个高级技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在ASP.NET中隱藏下載地址:

首先要將下載地址放在數據庫中,表TabMailAttachFiles中的FileVisualPath字段存儲為真實地址。
string sel_sql="select FileVisualPath from TabMailAttachFiles where FileID="+Request.QueryString["destFileName"].ToString();

//?? string destFileName = Request.QueryString["destFileName"]!=null?Request.QueryString["destFileName"]:"";
?? string destFileName=I_SQL.Execad(sel_sql).Tables[0].Rows[0][0].ToString();
?? destFileName = Server.MapPath(".")+destFileName;
?? destFileName = Server.UrlDecode(destFileName);
?? if(File.Exists(destFileName))
?? {
??? FileInfo fi = new FileInfo(destFileName);
??? Response.Clear();
??? Response.ClearHeaders();
??? Response.Buffer = false;
???
??? //Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.Default));
??? Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(Path.GetFileName(destFileName),System.Text.Encoding.UTF8));
??? Response.AppendHeader("Content-Length",fi.Length.ToString());
??? Response.ContentType="application/octet-stream";
??? Response.WriteFile(destFileName);
??? Response.Flush();
??? Response.End();
?? }
?? else
?? {
??? Response.Write("<script langauge=javascript>alert('文件不存在!');history.go(-1);</script>");
??? Response.End();
?? }




Asp.net實現多線程斷點續傳.

System.IO.Stream iStream = null;

// Buffer to read 10K bytes in chunk:
byte[] buffer = new Byte[10240];

// Length of the file:
int length;

// Total bytes to read:
long dataToRead;

// Identify the file to download including its path.
string filepath? = @"E:\software\SQL Server 2000 Personal Edition.ISO";

// Identify the file name.
string? filename? = System.IO.Path.GetFileName(filepath);

try
{
?// Open the file.
?iStream = new System.IO.FileStream(filepath, System.IO.FileMode.Open,
??System.IO.FileAccess.Read,System.IO.FileShare.Read);
?Response.Clear();

?// Total bytes to read:
?dataToRead = iStream.Length;

?long p = 0;
?if(Request.Headers["Range"]!=null)
?{
??Response.StatusCode = 206;
??p = long.Parse( Request.Headers["Range"].Replace("bytes=","").Replace("-",""));
?}
?if(p != 0)
?{
??Response.AddHeader("Content-Range","bytes " + p.ToString() + "-" + ((long)(dataToRead - 1)).ToString() + "/" + dataToRead.ToString());???????????????????
?}
?Response.AddHeader("Content-Length",((long)(dataToRead-p)).ToString());
?Response.ContentType = "application/octet-stream";
?Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(filename)));

?iStream.Position = p;
?dataToRead = dataToRead - p;
?// Read the bytes.
?while (dataToRead > 0)
?{
??// Verify that the client is connected.
??if (Response.IsClientConnected)
??{
???// Read the data in buffer.
???length = iStream.Read(buffer, 0, 10240);

???// Write the data to the current output stream.
???Response.OutputStream.Write(buffer, 0, length);

???// Flush the data to the HTML output.
???Response.Flush();

???buffer= new Byte[10240];
???dataToRead = dataToRead - length;
??}
??else
??{
???//prevent infinite loop if user disconnects
???dataToRead = -1;
??}
?}
}
catch (Exception ex)
{
?// Trap the error, if any.
?Response.Write("Error : " + ex.Message);
}
finally
{
?if (iStream != null)
?{
??//Close the file.
??iStream.Close();
?}
?Response.End();
}??



在.NET中實現彩色光標,動畫光標和自定義光標.t

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Reflection;

namespace ColorCursor
{
?/// <summary>
?/// 本例子的作用:
?/// 在.NET中實現彩色光標,動畫光標和自定義光標。
?/// </summary>
?public class Form1 : System.Windows.Forms.Form
?{
??[DllImport("user32.dll")]
??public static extern IntPtr LoadCursorFromFile( string fileName );
??
??[DllImport("user32.dll")]
??public static extern IntPtr SetCursor( IntPtr cursorHandle );
??
??[DllImport("user32.dll")]
??public static extern uint DestroyCursor( IntPtr cursorHandle );
??
??
??[STAThread]
??static void Main()
??{
??Application.Run(new Form1());
??}
??
??public Form1()
??{
??this.Text = "歡迎光臨【孟憲會之精彩世界】:http://dotnet.aspx.cc/";
??Cursor myCursor = new Cursor(Cursor.Current.Handle);
??//dinosau2.ani為windows自帶的光標:
??IntPtr colorCursorHandle = LoadCursorFromFile(@"C:\WINNT\Cursors\dinosau2.ani" );
??myCursor.GetType().InvokeMember("handle",BindingFlags.Public |
???BindingFlags.NonPublic | BindingFlags.Instance |
???BindingFlags.SetField,null,myCursor,
???new object [] { colorCursorHandle } );
??this.Cursor = myCursor;
??}
?}
}



在圖片上寫字.

//下面的代碼的作用是:從剪貼板取出圖片,寫上字,然后保存到文件d:\filename.jpg
Image bmap;
IDataObject data = System.Windows.Forms.Clipboard.GetDataObject();
bmap = (Image)(data.GetData(typeof(System.Drawing.Bitmap)));
Graphics g = Graphics.FromImage(bmap);
SolidBrush drawBrush = new SolidBrush(Color.Red);
Font drawFont = new Font("Arial", 10, FontStyle.Bold, GraphicsUnit.Millimeter);
int xPos = bmap.Height - ( bmap.Height-25 );
int yPos = 3;
g.DrawString ("您要寫的文字", drawFont, drawBrush, xPos, yPos);

string sPicPath? = "d:\\filename.jpg";
string sPreFix? = "d:\\xxx";

Image smBmap ;
smBmap = bmap.GetThumbnailImage(bmap.Width, bmap.Height, null, System.IntPtr.Zero);
smBmap.Save(sPicPath, System.Drawing.Imaging.ImageFormat.Jpeg);
bmap.Save(sPreFix + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
bmap = null;
smBmap = null;

總結

以上是生活随笔為你收集整理的Asp.NET 的几个高级技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。