<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fireworks 酷创意--Fireworks教程 王磊 Fireworks &#187; 网络开发</title>
	<atom:link href="http://fireworks.wanglei.cc/category/wangluokaifa/feed/" rel="self" type="application/rss+xml" />
	<link>http://fireworks.wanglei.cc</link>
	<description>平面设计&#38;网络开发</description>
	<lastBuildDate>Thu, 10 Nov 2011 00:24:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ruby on Rails程式开发增加国际语言支持</title>
		<link>http://fireworks.wanglei.cc/2010/04/ruby-on-rails-application-development-to-increase-international-language-support/</link>
		<comments>http://fireworks.wanglei.cc/2010/04/ruby-on-rails-application-development-to-increase-international-language-support/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 03:02:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=528</guid>
		<description><![CDATA[Ruby最新版的程式开发平台Ruby on Rails,将提供国际化的功能,并支援HTTP Validator 。以Perl为基础的Ruby语言,随着其开发平台Ruby on Rails的普及,已逐渐走向企业应用层级。最新版的Ruby on Rails 2.2,将进一步支援HTTP检验(validator),同时网页与应用程式也不再仅限于英文,新版所提供的国际化 (internationalization)功能,将使程式开发不再受限于字元编码。
　　Ruby on Rails开发团队日前在其所属网站上宣布新的强化功能。11月21日甫推出的新版本将能支援万国码UTF-8。Ruby on Rails的创始者David Heinemeier Hansson(简称DHH),一星期前即在部落格中指出,Rails平台将会新增支援UTF-8的功能,让程式开发人员能更轻易地开发其他地区语言的应用程式。
　　DHH指出,Ruby on Rails 2.2将让全球化更加容易。它将提供一个简单的全球化架构(framework),让所有翻译与本地化(localization)的工作极为容易。在 Rails 2.2之前,你必须挑选一种外挂程式使用,但在2.2之后,它将内建在里面; 额外的外挂程式,则会让支援更加多元。
　　所谓的国际化支援,指的是所设计的软体程式,能自动转换至各种不同的语言与地区,相较于本地化,则是藉由增加特定的元件与翻译对照文件,来使软体支援单一的地区或语言。
　　新的Ruby开发架构,除将预设支援全球化之外,也将支援HTTP validator,以Etag与最后更新的方式提供,让复杂的程序或使用匣道代理时,能更为简单容易。
]]></description>
			<content:encoded><![CDATA[<p>Ruby最新版的程式开发平台Ruby on Rails,将提供国际化的功能,并支援HTTP Validator 。以Perl为基础的Ruby语言,随着其开发平台Ruby on Rails的普及,已逐渐走向企业应用层级。最新版的Ruby on Rails 2.2,将进一步支援HTTP检验(validator),同时网页与应用程式也不再仅限于英文,新版所提供的国际化 (internationalization)功能,将使程式开发不再受限于字元编码。</p>
<p>　　Ruby on Rails开发团队日前在其所属网站上宣布新的强化功能。11月21日甫推出的新版本将能支援万国码UTF-8。Ruby on Rails的创始者David Heinemeier Hansson(简称DHH),一星期前即在部落格中指出,Rails平台将会新增支援UTF-8的功能,让程式开发人员能更轻易地开发其他地区语言的应用程式。</p>
<p>　　DHH指出,Ruby on Rails 2.2将让全球化更加容易。它将提供一个简单的全球化架构(framework),让所有翻译与本地化(localization)的工作极为容易。在 Rails 2.2之前,你必须挑选一种外挂程式使用,但在2.2之后,它将内建在里面; 额外的外挂程式,则会让支援更加多元。</p>
<p>　　所谓的国际化支援,指的是所设计的软体程式,能自动转换至各种不同的语言与地区,相较于本地化,则是藉由增加特定的元件与翻译对照文件,来使软体支援单一的地区或语言。</p>
<p>　　新的Ruby开发架构,除将预设支援全球化之外,也将支援HTTP validator,以Etag与最后更新的方式提供,让复杂的程序或使用匣道代理时,能更为简单容易。</p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2010/04/ruby-on-rails-application-development-to-increase-international-language-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP编程代码：隐藏图片的真实地址</title>
		<link>http://fireworks.wanglei.cc/2010/04/asp-programming-code-the-hidden-picture-of-the-real-address/</link>
		<comments>http://fireworks.wanglei.cc/2010/04/asp-programming-code-the-hidden-picture-of-the-real-address/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 03:00:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=526</guid>
		<description><![CDATA[本文介绍如何使用简单的小技巧来防止图片被盗链。如果您博客的图片是外包给相册网站的话，那么您可以去浏览其它网站了，本文对您没有任何用处，只会浪费您宝贵的时间。 一般情况下，网站的图片代码是这样的。
　　&#60;img src=&#8221;./attachments/test.jpg&#8221; /&#62; 
　　右键点击图片，选择属性就可以看到图片的真实地址。这样就让其它网站有机可乘，盗链您网站的图片。我们可以利用一个小技巧来防止这种情况。
　　新建一个showimg.asp(或showimg.php)文件(本文是用asp语法，其实php除语法不同外，基本思路都是相同的)，它所要做的是从request中取file的值。如下：
　　&#60;% 
　　Dim filename 
　　filename=request(&#8220;file&#8221;) 
　　response.Redirect &#8220;attachments/&#8221; &#38; filename &#38; &#8220;.jpg&#8221; 
　　%&#62; ]]></description>
			<content:encoded><![CDATA[<p>本文介绍如何使用简单的小技巧来防止图片被盗链。如果您博客的图片是外包给相册网站的话，那么您可以去浏览其它网站了，本文对您没有任何用处，只会浪费您宝贵的时间。 一般情况下，网站的图片代码是这样的。</p>
<p>　　&lt;img src=&#8221;./attachments/test.jpg&#8221; /&gt; </p>
<p>　　右键点击图片，选择属性就可以看到图片的真实地址。这样就让其它网站有机可乘，盗链您网站的图片。我们可以利用一个小技巧来防止这种情况。</p>
<p>　　新建一个showimg.asp(或showimg.php)文件(本文是用asp语法，其实php除语法不同外，基本思路都是相同的)，它所要做的是从request中取file的值。如下：</p>
<p>　　&lt;% <br />
　　Dim filename <br />
　　filename=request(&#8220;file&#8221;) <br />
　　response.Redirect &#8220;attachments/&#8221; &amp; filename &amp; &#8220;.jpg&#8221; <br />
　　%&gt; <!--p>　　Dim filename</p>
<p>　　filename=request(&#8220;file&#8221;)</p>
<p>　　response.Redirect &#8220;attachments/&#8221; &#038; filename &#038; &#8220;.jpg&#8221;</p>
<p>　&#8211;></p>
<p>　　将图片代码改为如下方式：</p>
<p>　　&lt;img src=&#8221;./showimg.asp?file=test&#8221; /&gt; </p>
<p>　　右键点击图片，选择属性看到的地址将会是:　http://localhost/showimg.asp?file=test</p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2010/04/asp-programming-code-the-hidden-picture-of-the-real-address/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ASP.NET数据库图</title>
		<link>http://fireworks.wanglei.cc/2010/04/asp-net-database-map/</link>
		<comments>http://fireworks.wanglei.cc/2010/04/asp-net-database-map/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 03:00:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=524</guid>
		<description><![CDATA[在很多时候，我们有这样的需求：把图片存入到数据库当中。在一些应用程序中，我们可能有一些敏感的资料，由于存储在文件系统(file system)中的东西，将很容易被某些用户盗取，所以这些数据不能存放在文件系统中。
　　在这篇文章中，我们将讨论怎样把图片存入到Sql2000当中。
　　在这篇文章中我们可以学到以下几个方面的知识：
　　1. 插入图片的必要条件
　　2. 使用流对象
　　3. 查找准备上传的图片的大小和类型
　　4.怎么使用InputStream方法?
　　ASP.NET数据库图片存储：插入图片的必要条件
　　在我们开始上传之前，有两件重要的事我们需要做：
　　#Form 标记的 enctype 属性应该设置成 enctype=&#8221;multipart/form-data&#8221;
　　# 需要一个表单来使用户选择他们要上传的文件，同时我们需要导入 System.IO名称空间来处理流对象
　　把以上三点应用到aspx页面。同时我们需要对SqlServer做以下的准备。
　　# 需要至少含有一个图片类型的字段的表
　　# 如果我们还有另外一个变字符类型的字段来存储图片类型，那样会更好一些。
　　现在，我们准备了一个Sql表(包含了一个image数据类型的字段),还有标记。当然我们还得准备Submit按钮，以便用户在选择了图片以后提交。在这个按钮的Onclick事件里，我们需要读取选取图片的内容，然后把它存入到表里。那我们先来看看这个Onclick事件。
　　提交按钮的Onclick事件的代码：
　　Dim intImageSize As Int64 Dim strImageType As String Dim ImageStream As Stream ’ Gets the Size of the Image intImageSize = PersonImage.PostedFile.ContentLength ’ Gets the Image Type strImageType = PersonImage.PostedFile.ContentType ’ Reads the Image ImageStream = PersonImage.PostedFile.InputStream Dim ImageContent(intImageSize) As Byte Dim intStatus [...]]]></description>
			<content:encoded><![CDATA[<p>在很多时候，我们有这样的需求：把图片存入到数据库当中。在一些应用程序中，我们可能有一些敏感的资料，由于存储在文件系统(file system)中的东西，将很容易被某些用户盗取，所以这些数据不能存放在文件系统中。</p>
<p>　　在这篇文章中，我们将讨论怎样把图片存入到Sql2000当中。</p>
<p>　　在这篇文章中我们可以学到以下几个方面的知识：</p>
<p>　　1. 插入图片的必要条件</p>
<p>　　2. 使用流对象</p>
<p>　　3. 查找准备上传的图片的大小和类型</p>
<p>　　4.怎么使用InputStream方法?</p>
<p>　　ASP.NET数据库图片存储：插入图片的必要条件</p>
<p>　　在我们开始上传之前，有两件重要的事我们需要做：</p>
<p>　　#Form 标记的 enctype 属性应该设置成 enctype=&#8221;multipart/form-data&#8221;</p>
<p>　　# 需要一个表单来使用户选择他们要上传的文件，同时我们需要导入 System.IO名称空间来处理流对象</p>
<p>　　把以上三点应用到aspx页面。同时我们需要对SqlServer做以下的准备。</p>
<p>　　# 需要至少含有一个图片类型的字段的表</p>
<p>　　# 如果我们还有另外一个变字符类型的字段来存储图片类型，那样会更好一些。</p>
<p>　　现在，我们准备了一个Sql表(包含了一个image数据类型的字段),还有标记。当然我们还得准备Submit按钮，以便用户在选择了图片以后提交。在这个按钮的Onclick事件里，我们需要读取选取图片的内容，然后把它存入到表里。那我们先来看看这个Onclick事件。</p>
<p>　　提交按钮的Onclick事件的代码：</p>
<p>　　Dim intImageSize As Int64 Dim strImageType As String Dim ImageStream As Stream ’ Gets the Size of the Image intImageSize = PersonImage.PostedFile.ContentLength ’ Gets the Image Type strImageType = PersonImage.PostedFile.ContentType ’ Reads the Image ImageStream = PersonImage.PostedFile.InputStream Dim ImageContent(intImageSize) As Byte Dim intStatus As Integer intStatus = ImageStream.Read(ImageContent, 0, intImageSize) ’ Create Instance of Connection and Command Object Dim myConnection As New SqlConnection(ConfigurationSettings.AppSettings(&#8220;ConnectionString&#8221;)) Dim myCommand As New SqlCommand(&#8220;sp_person_isp&#8221;, myConnection) ’ Mark the Command as a SPROC myCommand.CommandType = CommandType.StoredProcedure ’ Add Parameters to SPROC Dim prmPersonImage As New SqlParameter(&#8220;@PersonImage&#8221;, SqlDbType.Image) prmPersonImage.Value = ImageContent myCommand.Parameters.Add(prmPersonImage) Dim prmPersonImageType As New SqlParameter(&#8220;@PersonImageType&#8221;, SqlDbType.VarChar, 255) prmPersonImageType.Value = strImageType myCommand.Parameters.Add(prmPersonImageType) Try myConnection.Open() myCommand.ExecuteNonQuery() myConnection.Close() Response.Write(&#8220;New person successfully added!&#8221;) Catch SQLexc As SqlException Response.Write(&#8220;Insert Failed. Error Details are: &#8221; &amp; SQLexc.ToString()) End Try 这是怎么实现ASP.NET数据库图片存储的呢?</p>
<p>　　PersonImage是HTMLInputFile控件的对象。首先需要获得图片的大小，可以使用下面的代码实现：</p>
<p>　　intImageSize = PersonImage.PostedFile.ContentLength</p>
<p>　　然后返回图片的类型使用ContenType属性。最后，也是最重要的事就是取得Image Stream,这可以用以下代码实现：</p>
<p>　　ImageStream = PersonImage.PostedFile.InputStream</p>
<p>　　我们需要一个字节型数组来存储image 内容。读取整个图片可以使用Stream对象的Read方法来实现。Read(in byte[] buffer,int offset,int count)方法有三个参数。他们是：</p>
<p>　　buffer</p>
<p>　　字节数组。此方法返回时，该缓冲区包含指定的字符数组，该数组的 offset 和 (offset + count) 之间的值由从当前源中读取的字节替换。</p>
<p>　　offset</p>
<p>　　buffer 中的从零开始的字节偏移量，从此处开始存储从当前流中读取的数据。</p>
<p>　　count</p>
<p>　　要从当前流中最多读取的字节数。</p>
<p>　　这个Read方法用以下代码实现：</p>
<p>　　intStatus = ImageStream.Read(ImageContent, 0, intImageSize)</p>
<p>　　现在，我们已经读取了整个图片的内容，下一步，我们要把这些内容存入到sql 表。我们将使用存储过程来完成插入图片类型和图片内容到sql 表。如果你浏览了上面的代码，你将会发现我们使用了sqldbtype.image的数据类型(datatype)。Ok了，完成了这些，我们也就成功的把图片存入到SqlServer中了。</p>
<p>　　下面是我们编写的aspx页面。</p>
<p>　　ASP.NET数据库图片存储：图片存入数据库结论</p>
<p>　　我们已经讨论了如何把图片存入到Sql Server，那么我们如何从SqlServer中读取图片呢?可以参看我的另一篇文章：在Asp.Net中从SqlServer中检索图片。</p>
<p><!-- publish_helper_end --><!-- {09正文所属专题显示} --></p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2010/04/asp-net-database-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET页面的CheckBoxList组件</title>
		<link>http://fireworks.wanglei.cc/2010/04/asp-net-page-checkboxlist-component/</link>
		<comments>http://fireworks.wanglei.cc/2010/04/asp-net-page-checkboxlist-component/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 02:59:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=522</guid>
		<description><![CDATA[CheckBox选择组件是一个程序中都经常的组件。在程序设计中使用到该组件，一般都不会只使用到一个，往往是以多个此类组件的形式出现的。在 ASP.NET页面中如果要使用到多个CheckBox组件，除了添加多个CheckBox组件在页面中之外，还有一种比较方便的方法，就是使用 CheckBoxList 组件。CheckBoxList组件是由一组的CheckBox组件组成的，在此组件中CheckBox是做为条目的形式出现的，并且对每个在 CheckBoxList组件中的CheckBox都有一个索引号，这样在程序中就更容易来处理了。
　　这时你可能要问，这不是多此一举么，既然有了CheckBox组件，还要CheckBoxList组件干什么?这是因为在程序设计的过程中，处理CheckBoxList组件要往往要比处理CheckBox组件相对容易的多并且也明了的多。举例如下：
　　假定有一个CheckBoxList组件和有十个CheckBox组件，并且这个CheckBoxList组件是由这十个CheckBox组件构成的。
　　一.如何在创建一个CheckBoxList组件：
　　&#60; asp:CheckBoxList runat = &#8220;server&#8221; id = C1 &#62;
　　&#60; asp:ListItem Value = 1 &#62;第一个检查框&#60; /asp:ListItem &#62;
　　&#60; asp:ListItem Value = 2 &#62;第二个检查框&#60; /asp:ListItem &#62;
　　&#60; asp:ListItem Value = 3 &#62;第三个检查框&#60; /asp:ListItem &#62;
　　&#8230;..
　　注释：在这里可以加入若干个检查框
　　&#60; /asp:CheckBoxList &#62;
　　在ASP.NET页面中加入上面的语句，就可以产生一个名称为&#8221;C1&#8243;的CheckBoxList组件了。
　　二.CheckBoxList组件中经常使用到的属性：
　　1.TextAlign属性：取值为：Left、Right。如果TextAlign的值为Left则CheckBoxList组件中的检查框的文字在选框的左边，同理如果TextAlign的值为Right则检查框的文字在选框的右边。
　　2.Selected属性：为布尔型，判定组件中的检查框是否被选中。
　　3.RepeatColumns属性：在CheckBoxList组件中有若干检查框，此属性主要是设定这些检查框到底用多少行来显示。
　　4.RepeatDirection属性：此属性的值可为：Vertical、Horizontal。当设定了RepeatColumns属性后，设定此属性是如何排列组件中的各个检查框的。具体如下：
　　假定CheckBoxList组件有四个检查框，并且RepeatColumns属性值为2。
　　1).如果RepeatDirection = Vertical，则在页面中检查框的显示方式如下：
　　检查框01 检查框03
　　检查框02 检查框04
　　2).如果RepeatDirection = Horizontal，则在页面中检查框的显示方式如下：
　　检查框01 检查框02
　　检查框03 检查框04
　　5.Count属性：返回CheckBoxList组件中有多少检查框。
　　三.CheckBoxList组件中经常使用到的方法：
　　1.在组件中增加一个检查框，语法如下：
　　CHKList . Items . Add ( new ListItem ( &#60; text &#62; [...]]]></description>
			<content:encoded><![CDATA[<p>CheckBox选择组件是一个程序中都经常的组件。在程序设计中使用到该组件，一般都不会只使用到一个，往往是以多个此类组件的形式出现的。在 ASP.NET页面中如果要使用到多个CheckBox组件，除了添加多个CheckBox组件在页面中之外，还有一种比较方便的方法，就是使用 CheckBoxList 组件。CheckBoxList组件是由一组的CheckBox组件组成的，在此组件中CheckBox是做为条目的形式出现的，并且对每个在 CheckBoxList组件中的CheckBox都有一个索引号，这样在程序中就更容易来处理了。</p>
<p>　　这时你可能要问，这不是多此一举么，既然有了CheckBox组件，还要CheckBoxList组件干什么?这是因为在程序设计的过程中，处理CheckBoxList组件要往往要比处理CheckBox组件相对容易的多并且也明了的多。举例如下：</p>
<p>　　假定有一个CheckBoxList组件和有十个CheckBox组件，并且这个CheckBoxList组件是由这十个CheckBox组件构成的。</p>
<p>　　一.如何在创建一个CheckBoxList组件：</p>
<p>　　&lt; asp:CheckBoxList runat = &#8220;server&#8221; id = C1 &gt;</p>
<p>　　&lt; asp:ListItem Value = 1 &gt;第一个检查框&lt; /asp:ListItem &gt;</p>
<p>　　&lt; asp:ListItem Value = 2 &gt;第二个检查框&lt; /asp:ListItem &gt;</p>
<p>　　&lt; asp:ListItem Value = 3 &gt;第三个检查框&lt; /asp:ListItem &gt;</p>
<p>　　&#8230;..</p>
<p>　　注释：在这里可以加入若干个检查框</p>
<p>　　&lt; /asp:CheckBoxList &gt;</p>
<p>　　在ASP.NET页面中加入上面的语句，就可以产生一个名称为&#8221;C1&#8243;的CheckBoxList组件了。</p>
<p>　　二.CheckBoxList组件中经常使用到的属性：</p>
<p>　　1.TextAlign属性：取值为：Left、Right。如果TextAlign的值为Left则CheckBoxList组件中的检查框的文字在选框的左边，同理如果TextAlign的值为Right则检查框的文字在选框的右边。</p>
<p>　　2.Selected属性：为布尔型，判定组件中的检查框是否被选中。</p>
<p>　　3.RepeatColumns属性：在CheckBoxList组件中有若干检查框，此属性主要是设定这些检查框到底用多少行来显示。</p>
<p>　　4.RepeatDirection属性：此属性的值可为：Vertical、Horizontal。当设定了RepeatColumns属性后，设定此属性是如何排列组件中的各个检查框的。具体如下：</p>
<p>　　假定CheckBoxList组件有四个检查框，并且RepeatColumns属性值为2。</p>
<p>　　1).如果RepeatDirection = Vertical，则在页面中检查框的显示方式如下：</p>
<p>　　检查框01 检查框03</p>
<p>　　检查框02 检查框04</p>
<p>　　2).如果RepeatDirection = Horizontal，则在页面中检查框的显示方式如下：</p>
<p>　　检查框01 检查框02</p>
<p>　　检查框03 检查框04</p>
<p>　　5.Count属性：返回CheckBoxList组件中有多少检查框。</p>
<p>　　三.CheckBoxList组件中经常使用到的方法：</p>
<p>　　1.在组件中增加一个检查框，语法如下：</p>
<p>　　CHKList . Items . Add ( new ListItem ( &lt; text &gt; , &lt; value &gt; ) )</p>
<p>　　2.访问组件中的检查框，语法如下：</p>
<p>　　CHKList . Items [ &lt; index &gt; ]</p>
<p>　　3.删除组件中的检查框，语法如下：</p>
<p>　　CHKList . Items . Remove ( &lt; index &gt; )</p>
<p>　　四.总结：</p>
<p>　　其实CheckBoxList组件也是一个服务器端组件。本文介绍了CheckBoxList组件中的一些主要的属性和方法，并且通过一个比较典型的例子说明了在ASP.NET页面中如何进行与CheckBoxList组件相关的编程，其实对于另外一个比较重要的组件&#8211;CheckBox来说，他们中有许多的相似之处，掌握了CheckBoxList组件的用法大致也就掌握了CheckBox组件的用法。</p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2010/04/asp-net-page-checkboxlist-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET文件下载函数使用浅析</title>
		<link>http://fireworks.wanglei.cc/2010/04/the-use-of-asp-net-file-download-function/</link>
		<comments>http://fireworks.wanglei.cc/2010/04/the-use-of-asp-net-file-download-function/#comments</comments>
		<pubDate>Mon, 05 Apr 2010 02:57:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=518</guid>
		<description><![CDATA[ASP.NET文件下载函数使用是什么情况呢?在你的Page_Load中添加这样的代码:
　　Page.Response.Clear();
　　bool success = ResponseFile(Page.Request, Page.Response, &#8220;目的文件名称&#8221;, @&#8221;源文件路径&#8221;, 1024000);
　　if (!success) Response.Write(&#8220;下载文件出错!&#8221;); Page.Response.End();
　　ASP.NET文件下载函数代码为:
　　public static bool ResponseFile(HttpRequest _Request,HttpResponse _Response,string _fileName,string _fullPath, long _speed) {
　　try
　　{
　　FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
　　BinaryReader br = new BinaryReader(myFile);
　　try
　　{
　　_Response.AddHeader(&#8220;Accept-Ranges&#8221;, &#8220;bytes&#8221;
　　);
　　_Response.Buffer = false;
　　long fileLength = myFile.Length;
　　long startBytes = 0; double pack = 10240;
　　//10K bytes
　　//int sleep = 200;
　　//每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor(1000 [...]]]></description>
			<content:encoded><![CDATA[<p>ASP.NET文件下载函数使用是什么情况呢?在你的Page_Load中添加这样的代码:</p>
<p>　　Page.Response.Clear();</p>
<p>　　bool success = ResponseFile(Page.Request, Page.Response, &#8220;目的文件名称&#8221;, @&#8221;源文件路径&#8221;, 1024000);</p>
<p>　　if (!success) Response.Write(&#8220;下载文件出错!&#8221;); Page.Response.End();</p>
<p>　　ASP.NET文件下载函数代码为:</p>
<p>　　public static bool ResponseFile(HttpRequest _Request,HttpResponse _Response,string _fileName,string _fullPath, long _speed) {</p>
<p>　　try</p>
<p>　　{</p>
<p>　　FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);</p>
<p>　　BinaryReader br = new BinaryReader(myFile);</p>
<p>　　try</p>
<p>　　{</p>
<p>　　_Response.AddHeader(&#8220;Accept-Ranges&#8221;, &#8220;bytes&#8221;</p>
<p>　　);</p>
<p>　　_Response.Buffer = false;</p>
<p>　　long fileLength = myFile.Length;</p>
<p>　　long startBytes = 0; double pack = 10240;</p>
<p>　　//10K bytes</p>
<p>　　//int sleep = 200;</p>
<p>　　//每秒5次 即5*10K bytes每秒 int sleep = (int)Math.Floor(1000 * pack / _speed) + 1;</p>
<p>　　if (_Request.Headers["Range"] != null)</p>
<p>　　{</p>
<p>　　_Response.StatusCode = 206;</p>
<p>　　string[] range = _Request.Headers["Range"].Split(new char[] {&#8216;=&#8217;, &#8216;-&#8217;});</p>
<p>　　startBytes = Convert.ToInt64(range[1]);</p>
<p>　　}</p>
<p>　　_Response.AddHeader(&#8220;Content-Length&#8221;, (fileLength &#8211; startBytes).ToString());</p>
<p>　　if (startBytes != 0) {</p>
<p>　　//Response.AddHeader(&#8220;Content-Range&#8221;, string.Format(&#8221; bytes {0}-{1}/{2}&#8221;, startBytes, fileLength-1, fileLength));</p>
<p>　　}</p>
<p>　　_Response.AddHeader(&#8220;Connection&#8221;, &#8220;Keep-Alive&#8221;);</p>
<p>　　_Response.ContentType = &#8220;application/octet-stream&#8221;;</p>
<p>　　_Response.AddHeader(&#8220;Content-Disposition&#8221;,&#8221;attachment; filename=&#8221; + HttpUtility.UrlEncode(_fileName,System.Text.Encoding.UTF8) ); br.BaseStream.Seek(startBytes, SeekOrigin.Begin);</p>
<p>　　int maxCount = (int) Math.Floor((fileLength &#8211; startBytes) / pack) + 1;</p>
<p>　　for (int i = 0; i &lt; maxCount; i++) { if (_Response.IsClientConnected) { _Response.BinaryWrite(br.ReadBytes(int.Parse(pack.ToString()))); Thread.Sleep(sleep);</p>
<p>　　} else { i=maxCount;</p>
<p>　　}</p>
<p>　　} }</p>
<p>　　catch</p>
<p>　　{</p>
<p>　　return false;</p>
<p>　　}</p>
<p>　　finally</p>
<p>　　{</p>
<p>　　br.Close();</p>
<p>　　myFile.Close();</p>
<p>　　}</p>
<p>　　}</p>
<p>　　catch</p>
<p>　　{</p>
<p>　　return false;</p>
<p>　　}</p>
<p>　　return true;</p>
<p>　　}</p>
<p>　　这样就实现了文件下载时,不管是什么格式的文件,都能够弹出打开/保存窗口.</p>
<p>　　ASP.NET文件下载函数的基本情况就向你介绍到这里，希望对你了解ASP.NET文件下载函数有所帮助。</p>
<p><!-- publish_helper_end --><!-- {09正文所属专题显示} --></p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2010/04/the-use-of-asp-net-file-download-function/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>微软：与开源社区的关系将发生实质性变化</title>
		<link>http://fireworks.wanglei.cc/2010/04/microsoft-the-open-source-community-relations-will-be-substantial-changes/</link>
		<comments>http://fireworks.wanglei.cc/2010/04/microsoft-the-open-source-community-relations-will-be-substantial-changes/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 02:56:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=516</guid>
		<description><![CDATA[微软与开源社区的关系一直以来都不是很融洽，尤其在知识产权方面争斗颇多，然而近段时间以来微软却表 示公司正在努力改善这种局面，争取与开源社区实现更好地相处。微软官方发言人Stuart McKee表示，微软正在拥抱开源社区，甚至资助开源社区的发展。
　　McKee表示：“微软已经意识到，想要获得真正的成功就必须能在微软平台上实现各种技术，包括开源。”虽然微软过去和开源社区之间有所间隙，但是 今后“事情会发生真正的转机”，两者的关系将发生实质性的变化。
　　在谈及微软对开源社区的接纳时，McKee举了微软Web平台的例子，他表示microsoft.web网站上的25个应用程序中的23个都是开源 的。此外，Apache软件、MySQL数据库、PHP都可在微软云计算平台Windows Azure之上运行。
]]></description>
			<content:encoded><![CDATA[<p>微软与开源社区的关系一直以来都不是很融洽，尤其在知识产权方面争斗颇多，然而近段时间以来微软却表 示公司正在努力改善这种局面，争取与开源社区实现更好地相处。微软官方发言人Stuart McKee表示，微软正在拥抱开源社区，甚至资助开源社区的发展。</p>
<p>　　McKee表示：“微软已经意识到，想要获得真正的成功就必须能在微软平台上实现各种技术，包括开源。”虽然微软过去和开源社区之间有所间隙，但是 今后“事情会发生真正的转机”，两者的关系将发生实质性的变化。</p>
<p>　　在谈及微软对开源社区的接纳时，McKee举了微软Web平台的例子，他表示microsoft.web网站上的25个应用程序中的23个都是开源 的。此外，Apache软件、MySQL数据库、PHP都可在微软云计算平台Windows Azure之上运行。</p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2010/04/microsoft-the-open-source-community-relations-will-be-substantial-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>为什么二级编程到三级网络是直通车</title>
		<link>http://fireworks.wanglei.cc/2009/08/why-is-programmed-into-the-three-networks-are-two-train/</link>
		<comments>http://fireworks.wanglei.cc/2009/08/why-is-programmed-into-the-three-networks-are-two-train/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 13:35:41 +0000</pubDate>
		<dc:creator>ghostlei</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=199</guid>
		<description><![CDATA[经过初步了解，相信很多二级C语言的考生已经跃跃欲试地
想报考三级网络技术了吧？至少上机考试没问题！其实二级C++
语言的考生也很有优势。众所周知，C++继承和发扬了C语言的
优点，用了类的概念，并且摈弃了C语言的糟粕（如指针、内存释
放）。对于二级C语言和二级C++语言的考生，上机考试的软件编
程能力已经是其囊中之物，所以只要好好学习三级网络技术的理
论知识就能够取得较好的成绩。那么二级其他编程语言的考生
呢？别着急，各类编程语言之间的差别并不是像汉语和英语之间
那么大，编程语言级别语法结构是相一致的，每种编程语言都要
有数据类型、赋值语句、循环语句、条件判断语句、函数等。只要
牢牢掌握一种编程语言，触类旁通，就可以很快学会另外一种编
程语言。如果你们对自己所考的语言能够熟练使用，那么C语言
也很容易掌握，这样就和C语言、C++语言的考试站在了同一条
起跑线上。
通过二级编程语言考试的同学们，加油哟！相信通过你们的
努力，一定能够取得三级网络技术的证书，站在网络技术行业更
高的岗位上。
                                                                                                                                                      来源：王磊 酷创意
]]></description>
			<content:encoded><![CDATA[<p>经过初步了解，相信很多二级C语言的考生已经跃跃欲试地<br />
想报考三级网络技术了吧？至少上机考试没问题！其实二级C++<br />
语言的考生也很有优势。众所周知，C++继承和发扬了C语言的<br />
优点，用了类的概念，并且摈弃了C语言的糟粕（如指针、内存释<br />
放）。对于二级C语言和二级C++语言的考生，上机考试的软件编<br />
程能力已经是其囊中之物，所以只要好好学习三级网络技术的理<br />
论知识就能够取得较好的成绩。那么二级其他编程语言的考生<br />
呢？别着急，各类编程语言之间的差别并不是像汉语和英语之间<br />
那么大，编程语言级别语法结构是相一致的，每种编程语言都要<br />
有数据类型、赋值语句、循环语句、条件判断语句、函数等。只要<br />
牢牢掌握一种编程语言，触类旁通，就可以很快学会另外一种编<br />
程语言。如果你们对自己所考的语言能够熟练使用，那么C语言<br />
也很容易掌握，这样就和C语言、C++语言的考试站在了同一条<br />
起跑线上。<br />
通过二级编程语言考试的同学们，加油哟！相信通过你们的<br />
努力，一定能够取得三级网络技术的证书，站在网络技术行业更<br />
高的岗位上。</p>
<p>                                                                                                                                                      来源：王磊 酷创意</p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2009/08/why-is-programmed-into-the-three-networks-are-two-train/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>巧取豪夺，轻松打造高清地图</title>
		<link>http://fireworks.wanglei.cc/2009/08/hook-or-by-crook-easy-to-create-high-definition-maps/</link>
		<comments>http://fireworks.wanglei.cc/2009/08/hook-or-by-crook-easy-to-create-high-definition-maps/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 14:44:41 +0000</pubDate>
		<dc:creator>ghostlei</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=190</guid>
		<description><![CDATA[
使用大名鼎鼎的G o o g l e E a r t h能让我们对地球的山河湖海一饱眼福，而且较为清晰。但身在上海的小王不满足于此，他希望能够借助
G o o g l e E a r t h打造出一张上海市的高清晰卫星地图，然后发布在网上，一定会赚得不少眼球。
他用的是“ G o o g l e M a p sI m a g e s D o w n l o a d e r”这款小工具（下载地址：h t t p : // w w w. a [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-191" src="http://fireworks.wanglei.cc/wp-content/uploads/2009/08/200902071207047365.jpg" alt="200902071207047365" width="640" height="398" /></p>
<p>使用大名鼎鼎的G o o g l e E a r t h能让我们对地球的山河湖海一饱眼福，而且较为清晰。但身在上海的小王不满足于此，他希望能够借助<br />
G o o g l e E a r t h打造出一张上海市的高清晰卫星地图，然后发布在网上，一定会赚得不少眼球。<br />
他用的是“ G o o g l e M a p sI m a g e s D o w n l o a d e r”这款小工具（下载地址：h t t p : // w w w. a a a a s o f t .c o m /g m i d /d o w n l o a d /g m i d _ s e t u p.exe）。来看看小王是如何做的吧。<br />
指哪打哪，轻松采摘地图图片<br />
☆ 开启程序主界面，在“P rojec t<br />
n a m e ”（项目名称）一栏可发现默<br />
认的工程文件名称为“N e w P r o j e c t .<br />
gmid”（新建项目）。<br />
☆ 在“ L e f t L o n g i t u d e”（左<br />
经度） 、“R i g h t L o n g i t u d e”（右<br />
经度）栏目内键入经度值，然后<br />
再在“T o p L a t i t u d e”（上纬度）、<br />
“B o t t o m L a t i t u d e”（下纬度）输入<br />
相应的纬度值。<br />
☆“ Z o o m”（放大或缩小）处可<br />
设定图片放大的区域。<br />
☆“T h reads count”为下载的线<br />
程数。<br />
☆ 在“Pat h to S ave”一栏内选<br />
择保存图片的文件路径。<br />
待上述参数设置完成后，单击<br />
“D ow nlo ad”按钮，就可以进行图片<br />
下载了化零为整，轻松实现拼图<br />
依次展开主菜单“ T o o l s →<br />
C o m b i n e I m a g e s”（工具— 合并图<br />
像）命令，在弹出对话框的“P r o j e c t<br />
f i l e n a m e”（项目文件名）一栏内选<br />
择“N e w P r o j e c t . g m i d”，通常位于<br />
下载图片的保存文件夹中。然后在<br />
“Output filename”一栏内设定输出<br />
图片的文件名，单击“C o m b i n e”（合<br />
并）按钮。<br />
上述操作，将所下载的零碎图片<br />
自动合并。在图片保存文件夹中，一幅<br />
完整的上海地图图片便悄然诞生了。<br />
Just Do It<br />
小王能做出一张地图，也许我们可以把一张张地图有序地连接起来，<br />
打造一副全景图。不妨使用W i n d o w s<br />
L i v e P h o t o G a l l e r y，即W i n d o w s<br />
Live 照片库（下载地址：http: //g. live.<br />
c o m /1r e w l i v e/z h &#8211; c n / W L I n s t a l l e r.<br />
e x e）。选择“文件→在照片库中包含<br />
文件夹”命令，选择地图图片的所在<br />
文件夹。然后选择打算拼接的图片，<br />
即可合并。</p>
<p>                                                                                                                                                                   来源：王磊  酷创意</p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2009/08/hook-or-by-crook-easy-to-create-high-definition-maps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>酷创意—制作网页界面</title>
		<link>http://fireworks.wanglei.cc/2009/07/cool-ideas-the-production-of-web-interface/</link>
		<comments>http://fireworks.wanglei.cc/2009/07/cool-ideas-the-production-of-web-interface/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 08:31:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络开发]]></category>

		<guid isPermaLink="false">http://fireworks.wanglei.cc/?p=71</guid>
		<description><![CDATA[ 
【实例目标】
通过制作“网页界面”。主要是希望大家能够知道如何面对网页进行基本分布。同时也能制作到常见的一些网页布局效果，如倒角效果，颜色区分等。
【制作步骤】
1.新建文件，并设置宽度为10厘米，高度为7.7厘米，其余保持默认值。选择油漆桶工具，设置颜色为：橘黄色，填充颜色效果。
2.选择矩形工具，分别新建位图并绘制矩形，颜色从左往右，分别为：白色，金黄，浅蓝色。
3.同样的方法，新建位图，绘制矩形，颜色效果以及块面分布。
4.选择钢笔工具，绘制倒角图形。
5.绘制矩形工具在网页的下方，并按【ctrl+shift+g】组合键解散路径，并选择【钢笔工具】，加点或减点，制作出倒角图形。
6.选择直线工具，设置颜色为白色，按住【SHIFT】键绘制水平线条。
7.同样的方法，绘制蓝色矩形，并解散群组，加点或减点后形成缺角。
8.复制该缺角图形，并按住【alt】键复制到其余的位置。当然需要水平翻转的图形，则需要执行修改&#124;变形&#124;水平翻转命令。
9.最后，输入文字或制作的标志到网页布局中即可。
                                                                                                                                                                           来源：王磊 酷创意
]]></description>
			<content:encoded><![CDATA[<p> <br />
<img class="alignnone size-medium wp-image-72" title="mockup7" src="http://fireworks.wanglei.cc/wp-content/uploads/2009/07/mockup7-299x300.jpg" alt="mockup7" width="299" height="300" />【实例目标】</p>
<p>通过制作“网页界面”。主要是希望大家能够知道如何面对网页进行基本分布。同时也能制作到常见的一些网页布局效果，如倒角效果，颜色区分等。<br />
【制作步骤】</p>
<p>1.新建文件，并设置宽度为10厘米，高度为7.7厘米，其余保持默认值。选择油漆桶工具，设置颜色为：橘黄色，填充颜色效果。<br />
2.选择矩形工具，分别新建位图并绘制矩形，颜色从左往右，分别为：白色，金黄，浅蓝色。<br />
3.同样的方法，新建位图，绘制矩形，颜色效果以及块面分布。<br />
4.选择钢笔工具，绘制倒角图形。<br />
5.绘制矩形工具在网页的下方，并按【ctrl+shift+g】组合键解散路径，并选择【钢笔工具】，加点或减点，制作出倒角图形。<br />
6.选择直线工具，设置颜色为白色，按住【SHIFT】键绘制水平线条。<br />
7.同样的方法，绘制蓝色矩形，并解散群组，加点或减点后形成缺角。<br />
8.复制该缺角图形，并按住【alt】键复制到其余的位置。当然需要水平翻转的图形，则需要执行修改|变形|水平翻转命令。<br />
9.最后，输入文字或制作的标志到网页布局中即可。</p>
<p>                                                                                                                                                                           来源：王磊 酷创意</p>
]]></content:encoded>
			<wfw:commentRss>http://fireworks.wanglei.cc/2009/07/cool-ideas-the-production-of-web-interface/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

