AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Fileupload verschnellern bzw mehrere gleichzeitig!
Thema durchsuchen
Ansicht
Themen-Optionen

Fileupload verschnellern bzw mehrere gleichzeitig!

Offene Frage von "bennle"
Ein Thema von bennle · begonnen am 30. Mär 2006 · letzter Beitrag vom 30. Mär 2006
Antwort Antwort
Seite 1 von 3  1 23      
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#1

Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 17:46
Hallo,
Ich habe mir eine Software geschrieben, welche Dateien und Infos per Post an ein PHP Skript sendet.
Allerdings muss ich jetzt feststellen, dass es machmal wirklich zu lange dauert.
Da ich leider nicht den Zugriff auf den Server besitze kommt keine andere Lösung in Frage.
Bei den Dateien handelt es sich um Bilder! Der Upload geschieht über Indy

So nun meine Frage, gibt evtl eine Methode dies zu verschnellern??
Ich habe schon an eine Datenkomprimierung (ZIP) gedacht, welches mein Skript dann wieder entpackt. Aber eine andere Lösung wäre mir lieber.
Ebenfalls würde ich gerne wissen, ob es möglich ist mehrere Uploads gleichzeitig zu starten. Damit das ganze etwas schneller abläuft.

Über eine akzeptable Lösung würde ich mich freuen.

MfG
Bennle
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 17:49
Hi bennle,

meine Frage vorweg: Welche Internetverbindung hast du?

Es wäre auch gut, wenn du uns den relevanten Code zeigst (der vom Upload), damit wir dir helfen können.

Was gefällt dir an der Lösung mit Zip nicht? So schlecht finde ich die nichtmal.

Zitat:
Ebenfalls würde ich gerne wissen, ob es möglich ist mehrere Uploads gleichzeitig zu starten
Hier würde ich so vorgehen:

Für jeden Upload erstellst du einen Thread (Schau mal auf www.michael-puff.de da hats ein prima Tutorial) und übergibst diesem Thread den Dateinamen, den du hochladen willst und, wohin die Datei soll.

In dem Thread wird dann ein IdFTP (wenn du FTP-Upload machst) erzeugt und lädt die Datei hoch.
  Mit Zitat antworten Zitat
Benutzerbild von Dj_Base
Dj_Base

Registriert seit: 10. Aug 2004
Ort: Aachen
231 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 17:52
Hi!

Die Zip-Lösung finde ich gar nicht so schlecht...
Obwohl ich nicht genau weiss, ob man bei JPG-Dateien allgemein soviel spart bei einer Kompression.

Aber sonst den Upload verschnellern ist warscheinlich nicht drin, denn du kannst ja auch nicht deinen Upload-Speed erhöhen bzw. auf die php.ini auf dem Server zugreifen, die - so meine ich mich erinnern zu können - u.a. die Upload-Geschwindigkeit regulieren kann.

mfg,
Dj_Base
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 17:56
Hallo,
Danke für deine schnelle Antwort
Zitat von Spider:

meine Frage vorweg: Welche Internetverbindung hast du?
Ich habe DSL 2000.

Zitat:
Es wäre auch gut, wenn du uns den relevanten Code zeigst (der vom Upload), damit wir dir helfen können.
Hier:
Delphi-Quellcode:
function SendPictureData(Ahttp: TIdHTTP; const AtoURL: String; const aParams: TStrings): String;
  //Ahttp: Die HTTP Komponente von Indy
  //AtoURL: An diese URL werden die Informationen gesendet
  //aParams: Array mit Bildern (Pfad)
  //Result: HTML-Ergebnis (Antwort des Scripts)
Var
  lStream: TMemoryStream; //HTML-Result des PHP-Scripts
  I: Integer;
  picture: TIdMultiPartFormDataStream; //Unit IdMultipartFormData muss eingebunden werden
begin
  Result:='';
  if not Assigned(aHttp) then
    exit;
  lStream := TMemoryStream.create;
  picture := TIdMultiPartFormDataStream.Create;
  try
  AHTTP.Request.ContentType := 'multipart/form-data';
    //Dieser Stream wird letztendlich gesendet
    //Stream mit Werten füllen
    for I:=0 to aParams.Count-1 do
      picture.AddFile('bild'+IntToStr(I+1),aParams[I],'image/jpeg');

    try
      //Stream an das PHP-Script senden
      AHTTP.Post(AtoURL,
                 picture,
                 lStream);
    except
      on E: Exception do
        showmessage('Fehler bei der Übertragung: ' + E.Message);
    end;
    SetLength(Result,lStream.Size);
    lStream.Position:=0;
    lStream.ReadBuffer(Result[1],lStream.Size);
  finally
    picture.Free;
    lStream.Free;
  end;
end;
Zitat:
Was gefällt dir an der Lösung mit Zip nicht? So schlecht finde ich die nichtmal.
Ich glaube es ist kein Standart bei den Providern diese in PHP einzukompilieren! Daher scheint es mir unpraktisch

Zitat:
Für jeden Upload erstellst du einen Thread (Schau mal auf www.michael-puff.de da hats ein prima Tutorial) und übergibst diesem Thread den Dateinamen, den du hochladen willst und, wohin die Datei soll.
Werde mir das mal anschaun. Hört sich fürs erste mal gut und brauchbar an.

MfG
Bennle
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#5

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 17:59
Zitat von bennle:
Zitat von Spider:
meine Frage vorweg: Welche Internetverbindung hast du?
Ich habe DSL 2000.
Dann kannst du mit maximal 24 kb/s uploaden. Bei einigen Bildern kann das schon eine Weile dauern. Verschnellern kannst du da nur, in dem du dir ein schnelleres DSL holst *g*. Nein Scherz beiseite. Mit Verschnellern sieht es leider schlecht aus (zumindest ist mir nicht bekannt, wie man dies tun könnte).
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#6

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 17:59
Zitat von Dj_Base:
Hi!

Die Zip-Lösung finde ich gar nicht so schlecht...
Obwohl ich nicht genau weiss, ob man bei JPG-Dateien allgemein soviel spart bei einer Kompression.

Aber sonst den Upload verschnellern ist warscheinlich nicht drin, denn du kannst ja auch nicht deinen Upload-Speed erhöhen bzw. auf die php.ini auf dem Server zugreifen, die - so meine ich mich erinnern zu können - u.a. die Upload-Geschwindigkeit regulieren kann.

mfg,
Dj_Base
Hallo,
Naja ok, ich denke es ist schon getan, dass ich mehrere Upload gleichzeitig machen kann. Es kommt mir einfach nur recht langsam vor! Ich glaube fast, das ich über das Webformular schneller bin, als wenn ich es mit der Software hochlade!
Übrigens werden nur kleine Bilder versand von höchstens 0,5 MB

MfG
Bennle
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#7

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 18:00
Wie groß ist so ein Bild und wielange dauert es, bis es auf dem Server ist?
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 18:02
Zitat von Spider:
Wie groß ist so ein Bild und wielange dauert es, bis es auf dem Server ist?
Die Bilder sind durchschnittlich ca 50 kB groß! Wenn ich ca 30 hochlade benötige ich um die 7 min!

MfG
Bennle
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#9

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 18:06
Also, rechnen wir mal:

30 Bilder * 50 kb = 1500kb = 1,47mb

DSL 2000 kann 24 kb / s:

1500 / 24 = 62,5 s

OK, das wäre 1 minute.

Vielleicht liegt es ja daran, dass du keinen FTP-Upload verwendest. Wenn Du die möglich für FTP-Upload hast, könntest du mal versuchen, ob Du mit diesem schneller bist.
  Mit Zitat antworten Zitat
bennle

Registriert seit: 22. Jul 2005
Ort: Kehl
139 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Fileupload verschnellern bzw mehrere gleichzeitig!

  Alt 30. Mär 2006, 18:08
Zitat von Spider:
Also, rechnen wir mal:

30 Bilder * 50 kb = 1500kb = 1,47mb

DSL 2000 kann 24 kb / s:

1500 / 24 = 62,5 s

OK, das wäre 1 minute.

Vielleicht liegt es ja daran, dass du keinen FTP-Upload verwendest. Wenn Du die möglich für FTP-Upload hast, könntest du mal versuchen, ob Du mit diesem schneller bist.
Hallo,
FTP-Upload ist leider nicht möglich bzw zu unsicher, da diese Software an meine Kunden verteilt wird.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz