<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Georgia">Not really sure I understand the question, but
it sounds like you would need to include some sort of position
information in each POST. That way the receiving end knows where
in the file to put the data.</font><br>
<br>
<div class="moz-cite-prefix">On 3/19/15 8:42 PM, Sebastien Audier
wrote:<br>
</div>
<blockquote
cite="mid:CAACGQv0MzGM-Tx1cshx6nb3fG1ohPTU-XEsrJb_xZJjauove7A@mail.gmail.com"
type="cite">
<div dir="ltr">Okay, I dropped the idea of cut the file.<br>
<br>
One solution (not tested yet): <span
style="font-size:12.8000001907349px">ZnConstants
maximumEntitySize: 104857600 (100 * 1024 * 1024) in order to
increase the size of incoming entities to 100 M for example.</span><span
style="font-size:12.8000001907349px"><br>
<br>
But, if we find one solution for the other case, we could
upload file faster.</span>
<div><span style="font-size:12.8000001907349px"><br>
</span></div>
<div><span style="font-size:12.8000001907349px">Happy smalltalk
;)</span></div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">2015-03-12 15:21 GMT-10:00 Sebastien
Audier <span dir="ltr"><<a moz-do-not-send="true"
href="mailto:sebastien.audier@gmail.com" target="_blank">sebastien.audier@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div class="gmail_quote"><br>
<div dir="ltr">Hi all,<br>
<br>
I work on pharo 2.0 and seaside-REST with ZincServer.<br>
<br>
I need to rebuild a file which is uploaded by POST
requests through Seaside-REST but I don't really use
WASession. <span class=""><br>
<br>
On javascript layer, I cut the file with this
function:<br>
<br>
<pre style="font-family:'Source Code Pro',monospace;font-size:15px;white-space:pre-wrap;word-wrap:break-word;color:white;padding:1em;line-height:1.3;border-radius:2px;margin-bottom:2em;background-color:rgb(68,68,68)"><span>document</span><span>.</span><span>querySelector</span><span>(</span><span style="color:rgb(101,176,66)">'input[type="file"]'</span><span>).</span><span>addEventListener</span><span>(</span><span style="color:rgb(101,176,66)">'change'</span><span>,</span><span> </span><span style="color:rgb(226,137,100)">function</span><span>(</span><span>e</span><span>)</span><span> </span><span>{
</span><span> var name = <a moz-do-not-send="true" href="http://this.files.name" target="_blank">this.files.name</a>;
</span><span style="color:rgb(226,137,100)">var</span><span> blob </span><span>=</span><span> </span><span style="color:rgb(226,137,100)">this</span><span>.</span><span>files</span><span>[</span><span style="color:rgb(51,135,204)">0</span><span>];</span><span>
</span><span style="color:rgb(226,137,100)">const</span><span> BYTES_PER_CHUNK </span><span>=</span><span> </span><span style="color:rgb(51,135,204)">1024</span><span> </span><span>*</span><span> </span><span style="color:rgb(51,135,204)">1024</span><span>;</span><span> </span><span style="color:rgb(174,174,174);font-style:italic">// 1MB chunk sizes.</span><span>
</span><span style="color:rgb(226,137,100)">const</span><span> SIZE </span><span>=</span><span> blob</span><span>.</span><span>size</span><span>;</span><span>
</span><span style="color:rgb(226,137,100)">var</span><span> start </span><span>=</span><span> </span><span style="color:rgb(51,135,204)">0</span><span>;</span><span>
</span><span style="color:rgb(226,137,100)">var</span><span> </span><span style="color:rgb(226,137,100)">end</span><span> </span><span>=</span><span> BYTES_PER_CHUNK</span><span>;</span><span>
</span><span style="color:rgb(226,137,100)">while</span><span>(</span><span>start </span><span><</span><span> SIZE</span><span>)</span><span> </span><span>{</span><span>
upload</span><span>(name, </span><span>blob</span><span>.</span><span>slice</span><span>(</span><span>start</span><span>,</span><span> </span><span style="color:rgb(226,137,100)">end</span><span>));</span><span>
start </span><span>=</span><span> </span><span style="color:rgb(226,137,100)">end</span><span>;</span><span>
</span><span style="color:rgb(226,137,100)">end</span><span> </span><span>=</span><span> start </span><span>+</span><span> BYTES_PER_CHUNK</span><span>;</span><span>
</span><span>}</span><span>
</span><span>},</span><span> </span><span style="color:rgb(226,137,100)">false</span><span>);</span></pre>
</span>And I send datas with this function:
<div><br>
</div>
<div><span class="">
<pre style="font-family:'Source Code Pro',monospace;font-size:15px;white-space:pre-wrap;word-wrap:break-word;color:white;padding:1em;line-height:1.3;border-radius:2px;margin-bottom:2em;background-color:rgb(68,68,68)"><span style="color:rgb(226,137,100)">function</span><span> upload</span><span>(aFileName</span><span>,</span><span> files</span><span>)</span><span> </span><span>{</span><span>
</span><span style="color:rgb(226,137,100)">var</span><span> formData </span><span>=</span><span> </span><span style="color:rgb(226,137,100)">new</span><span> </span><b><span style="color:rgb(137,189,255)">FormData</span></b><span>();</span><span>
</span><span style="color:rgb(226,137,100)">for</span><span> </span><span>(</span><span style="color:rgb(226,137,100)">var</span><span> i </span><span>=</span><span> </span><span style="color:rgb(51,135,204)">0</span><span>,</span><span> file</span><span>;</span><span> file </span><span>=</span><span> files</span><span>[</span><span>i</span><span>];</span><span> </span><span>++</span><span>i</span><span>)</span><span> </span><span>{</span><span>
</span><b><span>formData</span><span>.</span><span>append</span><span>(aF</span><span>ileN</span><span>ame</span><span>,</span><span> file</span><span>);</span></b><span>
</span><span>}</span><span>
</span><span style="color:rgb(226,137,100)">var</span><span> xhr </span><span>=</span><span> </span><span style="color:rgb(226,137,100)">new</span><span> </span><span style="color:rgb(137,189,255)">XMLHttpRequest</span><span>();</span><span>
xhr</span><span>.</span><span>open</span><span>(</span><span style="color:rgb(101,176,66)">'POST'</span><span>,</span><span> '/myPath'</span><span>,</span><span> </span><span style="color:rgb(226,137,100)">true</span><span>);</span><span>
xhr</span><span>.</span><span>onload </span><span>=</span><span> </span><span style="color:rgb(226,137,100)">function</span><span>(</span><span>e</span><span>)</span><span> </span><span>{</span><span> </span><span>...</span><span> </span><span>};</span><span>
xhr</span><span>.</span><span>send</span><span>(</span><b>formData</b><span>);</span><span> </span><span style="color:rgb(174,174,174);font-style:italic">// multipart/form-data</span><span>
</span><span>}</span></pre>
<div><span><br>
</span></div>
</span>
<div><span>I have a POST method on my handler, but I
receive multiple requests.<br>
On this way, I don't have access to the
requestContext in order to get the WAFile in
request. </span></div>
<div><span>If I don't cut the file, it works and I
can store on disk. But not in the other case.</span></div>
<div><span><br>
Of course, my goal is to store the file on disk </span>correctly.<br>
<br>
So,<br>
How to get file content of each request ?<br>
How to rebuild and store the file correctly if
the requests aren't ordored ?</div>
<div><span><br>
</span></div>
<div>Any help ?<br>
<br>
Thank's a lot.</div>
<span class="HOEnZb"><font color="#888888"><span><font
color="#888888">
<div><br>
</div>
</font></span></font></span></div>
</div>
</div>
<span class="HOEnZb"><font color="#888888">
<div><br>
</div>
-- <br>
<div>
<div dir="ltr">Sébastien AUDIER<br>
<div><br>
<a moz-do-not-send="true"
href="http://www.objectfusion.fr/"
target="_blank"><br>
</a></div>
</div>
</div>
</font></span></div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">
<div dir="ltr">Sébastien AUDIER<br>
<div><br>
<a moz-do-not-send="true"
href="http://www.objectfusion.fr/" target="_blank"><br>
</a></div>
</div>
</div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
seaside mailing list
<a class="moz-txt-link-abbreviated" href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a>
<a class="moz-txt-link-freetext" href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a>
</pre>
</blockquote>
<br>
</body>
</html>