<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">&lt;<a moz-do-not-send="true"
              href="mailto:sebastien.audier@gmail.com" target="_blank">sebastien.audier@gmail.com</a>&gt;</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>&lt;</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>