<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: 2.0里的1.0</title>
	<atom:link href="http://www.zhangling.org/blog/20061011/file-upload-20.html/feed" rel="self" type="application/rss+xml" />
	<link>http://www.zhangling.org/blog/20061011/file-upload-20.html</link>
	<description></description>
	<lastBuildDate>Thu, 09 Feb 2012 16:56:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Web文件上传的草案 &#171; OnlyLonely &#38; Marshall&#8217;s</title>
		<link>http://www.zhangling.org/blog/20061011/file-upload-20.html/comment-page-1#comment-58863</link>
		<dc:creator>Web文件上传的草案 &#171; OnlyLonely &#38; Marshall&#8217;s</dc:creator>
		<pubDate>Mon, 04 May 2009 15:54:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.zhangling.org/blog/20061011/file-upload-20.html#comment-58863</guid>
		<description>[...] 转自张博的blog。想到写以前的项目，要做到Ajax，可是在文件上传这一步，始终没办法逾越。只能用 &lt;form target=&#8221;&#8230;&#8221; enctype=&#8221;multi-part/form-data&#8221; method=&#8221;post&#8221; &gt; &#8230; &lt;/form&gt; &lt;iframe name=&#8221;..&#8221;/&gt; 这种提交到一个内部iframe的办法搞。而且上传结束的event只能通过服务器端返回的javascript调用，可以说要多难看有多难看。这个draft定义的API虽然简单，可是也够用咯~~ [...]</description>
		<content:encoded><![CDATA[<p>[...] 转自张博的blog。想到写以前的项目，要做到Ajax，可是在文件上传这一步，始终没办法逾越。只能用 &lt;form target=&#8221;&#8230;&#8221; enctype=&#8221;multi-part/form-data&#8221; method=&#8221;post&#8221; &gt; &#8230; &lt;/form&gt; &lt;iframe name=&#8221;..&#8221;/&gt; 这种提交到一个内部iframe的办法搞。而且上传结束的event只能通过服务器端返回的javascript调用，可以说要多难看有多难看。这个draft定义的API虽然简单，可是也够用咯~~ [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter</title>
		<link>http://www.zhangling.org/blog/20061011/file-upload-20.html/comment-page-1#comment-692</link>
		<dc:creator>Peter</dc:creator>
		<pubDate>Wed, 25 Oct 2006 13:35:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.zhangling.org/blog/20061011/file-upload-20.html#comment-692</guid>
		<description>试试这个网站, http://filesfly.com/ . try to upload a file, 然后你就会看见一个很棒的对上传进度的监控.</description>
		<content:encoded><![CDATA[<p>试试这个网站, <a href="http://filesfly.com/" rel="nofollow">http://filesfly.com/</a> . try to upload a file, 然后你就会看见一个很棒的对上传进度的监控.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zhang Ling</title>
		<link>http://www.zhangling.org/blog/20061011/file-upload-20.html/comment-page-1#comment-585</link>
		<dc:creator>Zhang Ling</dc:creator>
		<pubDate>Fri, 13 Oct 2006 08:11:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.zhangling.org/blog/20061011/file-upload-20.html#comment-585</guid>
		<description>不错的资源。我对Web file upload感觉是整个过程不robust，像走钢丝，用non-web client的方法集成性弱了点，但稳定很多，实用。</description>
		<content:encoded><![CDATA[<p>不错的资源。我对Web file upload感觉是整个过程不robust，像走钢丝，用non-web client的方法集成性弱了点，但稳定很多，实用。</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jove</title>
		<link>http://www.zhangling.org/blog/20061011/file-upload-20.html/comment-page-1#comment-583</link>
		<dc:creator>Jove</dc:creator>
		<pubDate>Fri, 13 Oct 2006 06:17:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.zhangling.org/blog/20061011/file-upload-20.html#comment-583</guid>
		<description>更正一下，看了一下box.net的代码，他其实借用了Flash8之后新引入的文件上传类. 

在页面上放一些层，指定一个ID


然后插入一个width=height=0的Flash movie:
http://www.box.net/static/flash/upload_new.swf

这个Flash与页面JS通讯，并把上传进度更新给页面div
    function exportProgress() {
        var _local1 = new Array ();
        _local1[0] = totalBytesLoaded;
        _local1[1] = totalBytesTotal;
        res = String (flash.external.ExternalInterface.call(&quot;setProgress&quot;, _local1));
    }

    var listener = new Object ();
    。。
    listener.onProgress = function (file, bytesLoaded, bytesTotal) {
        setTotalBytesLoaded(file, bytesLoaded);
        exportProgress();
    };
    ..
    var fileRef = (new flash.net.FileReferenceList());
    fileRef.addListener(listener);
    ...
    flash.external.ExternalInterface.addCallback(&quot;removeFile&quot;, null, methodRF);
    flash.external.ExternalInterface.addCallback(&quot;uploadFiles&quot;, null, methodU);
    flash.external.ExternalInterface.addCallback(&quot;clearFileList&quot;, null, methodCFL);
    flash.external.ExternalInterface.addCallback(&quot;browse&quot;, null, methodB);
    flash.external.ExternalInterface.addCallback(&quot;cancelUpload&quot;, null, methodCU);</description>
		<content:encoded><![CDATA[<p>更正一下，看了一下box.net的代码，他其实借用了Flash8之后新引入的文件上传类. </p>
<p>在页面上放一些层，指定一个ID</p>
<p>然后插入一个width=height=0的Flash movie:<br />
<a href="http://www.box.net/static/flash/upload_new.swf" rel="nofollow">http://www.box.net/static/flash/upload_new.swf</a></p>
<p>这个Flash与页面JS通讯，并把上传进度更新给页面div<br />
    function exportProgress() {<br />
        var _local1 = new Array ();<br />
        _local1[0] = totalBytesLoaded;<br />
        _local1[1] = totalBytesTotal;<br />
        res = String (flash.external.ExternalInterface.call(&#8220;setProgress&#8221;, _local1));<br />
    }</p>
<p>    var listener = new Object ();<br />
    。。<br />
    listener.onProgress = function (file, bytesLoaded, bytesTotal) {<br />
        setTotalBytesLoaded(file, bytesLoaded);<br />
        exportProgress();<br />
    };<br />
    ..<br />
    var fileRef = (new flash.net.FileReferenceList());<br />
    fileRef.addListener(listener);<br />
    &#8230;<br />
    flash.external.ExternalInterface.addCallback(&#8220;removeFile&#8221;, null, methodRF);<br />
    flash.external.ExternalInterface.addCallback(&#8220;uploadFiles&#8221;, null, methodU);<br />
    flash.external.ExternalInterface.addCallback(&#8220;clearFileList&#8221;, null, methodCFL);<br />
    flash.external.ExternalInterface.addCallback(&#8220;browse&#8221;, null, methodB);<br />
    flash.external.ExternalInterface.addCallback(&#8220;cancelUpload&#8221;, null, methodCU);</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jove</title>
		<link>http://www.zhangling.org/blog/20061011/file-upload-20.html/comment-page-1#comment-582</link>
		<dc:creator>Jove</dc:creator>
		<pubDate>Fri, 13 Oct 2006 05:53:42 +0000</pubDate>
		<guid isPermaLink="false">http://www.zhangling.org/blog/20061011/file-upload-20.html#comment-582</guid>
		<description>几个我知道做的不错的Web 2.0 style file upload:
* www.box.net  经典的网络存储。听说近期不能免费注册了。可以选择多个本地文件，一起上传，并看到每个的进度。没有明显Flash/Applet的迹象
* Google, google的很多服务如gmail, google pages都可以很方便的上传文件，选定文件后他就在后台慢慢upload
* goowy.com, 一个用纯Flash制作的webtop. 他实现了一份Flash版的Box.net上传UI。可以监控上传进度或取消队列中尚未开始传送的文件

其实Web2.0的应用不一定非要用网页做，想Google docs这样，你可以往一个特殊的email地址发送文件，附件或正文自动就成为在线文档。这也非常符合2.0那种Open API, Open Data的概念。</description>
		<content:encoded><![CDATA[<p>几个我知道做的不错的Web 2.0 style file upload:<br />
* <a href="http://www.box.net" rel="nofollow">http://www.box.net</a>  经典的网络存储。听说近期不能免费注册了。可以选择多个本地文件，一起上传，并看到每个的进度。没有明显Flash/Applet的迹象<br />
* Google, google的很多服务如gmail, google pages都可以很方便的上传文件，选定文件后他就在后台慢慢upload<br />
* goowy.com, 一个用纯Flash制作的webtop. 他实现了一份Flash版的Box.net上传UI。可以监控上传进度或取消队列中尚未开始传送的文件</p>
<p>其实Web2.0的应用不一定非要用网页做，想Google docs这样，你可以往一个特殊的email地址发送文件，附件或正文自动就成为在线文档。这也非常符合2.0那种Open API, Open Data的概念。</p>
]]></content:encoded>
	</item>
</channel>
</rss>

