Dropbox Datei (grafik, texte oder blitzbasic code) laden
Übersicht

BritannyBetreff: Dropbox Datei (grafik, texte oder blitzbasic code) laden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie kann ich mit einem Blitz3d Programm Dateien von meiner Dropbox laden. Zum Beispiel eine Grafik (.jpg) oder ein Textdokument (.txt).
Schon mal danke im voraus ![]() lg Britanny |
||
BritannyBetreff: Serverfehler ... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zum Schluss hängt der BBCode mit Serverfehler. Hab auch schon diverse Möglichkeiten ausprobiert. ![]() Code: [AUSKLAPPEN] ; Dropbox link zum Dokument das geladen werden soll "https://www.dropbox.com/s/ctf65uwlwyyo8f3/Dokument.rtf" stream=OpenTCPStream("www.dropbox.com",80) ;stellt verbindung zum server her WriteLine(stream,"GET Dokument.rtf HTTP/1.1") ;Die gewünschte Datei: WriteLine(stream,"Host: www.dropbox.com") ;Den Server angeben WriteLine(stream,"") ;ende des Header + ;sendet den entsprechenden Befehl Local re$=ReadLine$(stream) Select re$ Case "HTTP/1.0 200 OK" Case "HTTP/1.0 200 OK" Default RuntimeError("Serverfehler!") End Select Repeat re$=ReadLine$(stream) If Left$(re$,15)="Content-Length:" Then Local size=Right$(re$,Len(re$)-16) EndIf Until re$="" Local bank=CreateBank(size) Local file=WriteFile("New_Dokument.rtf") ReadBytes(bank,stream,0,size) WriteBytes(bank,file,0,size) CloseTCPStream(stream) Falls jemand doch noch eine Idee hat wäre ich super dankbar. lg Britanny |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Freut mich dass du auf die grundlegende Herangehensweise selber drauf gekommen bist ![]() Jetzt heißt es nur noch, so Feinheiten zu korrigieren wie vor allem den Pfad. Der muss mit / anfangen, also zB "GET /Dokument.rtf ...". Und desweiteren ist die URL bestimmt nicht www.dropbox.com/Dokument.rtf sondern eher etwas wie www.dropbox.com/12345678/public/Dokument.rtf (oder wie auch immer... verwende Dropbox eigentlich nur über Client, nie über Web). Sprich du müsstest den vollständigen Pfad angeben, der dann in diesem Beispiel wäre: "GET /12345678/public/Dokument.rtf ..." Und am Ende müsste die herunter geladene Datei dann natürlich immernoch mit ReadFile, LoadImage etc. geöffnet werden. Und du musst beten dass Dropbox nicht über https:// arbeitet. Weil das kann BB leider nicht so ohne weiteres. mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Um den Link zu kriegen, einfach Rechtsklick auf das File was du herunterladen willst (im Dropbox-Ordner, also nicht im Web) und auf "Link freigeben", dann wird der Link in die Zwischenablage kopiert, sollte dann ungefähr so ausschauen:
Code: [AUSKLAPPEN] https://www.dropbox.com/s/db15ie90a77096i/Erste%20Schritte.pdf
(Hier noch zu beachten: sobald du das machst, ist das File für jeden runterladbar, der an den Link kommt, wird also öffentlich freigegeben) Leider sind die Links wirklich per https. Habe gerade geschaut, auch wenn man http statt dem https reinschreibt wird man automatisch umgeleitet. Was du aber machen könntest ist dir ein Kommandozeilenprogramm zulegen, dass https-Downloads kann (wie z.B. das hier), was du dann in BlitzBasic per ExecFile ausführen kannst. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
BritannyBetreff: BB und Curl |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Erst einmal vielen dank Eingeproggt und DAK und allen die sich die mühe gemacht haben das Posting zu lesen.
Ok! ![]() Nun weis ich das die Links der Dropbox https sind und BB es nicht unterstützt. Dabei ist's ja schon sehr praktisch mit dem Ordner auf seinen Rechner und den automatischen hochladen der Daten. Entweder ich suche mir eine Dropbox alternative oder ich muss das Problem mit https lösen. Habe Curl nun installiert und versuche nun schon beinahe den ganzen Tag es am laufen zu bekommen. Leider ohne Erfolg. hm,... Wieder Ratlos Code: [AUSKLAPPEN] ExecFile "C:\curl www.dropbox.com/s/ctf65uwlwyyo....rtf"
|
||
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich nehme an, dass "www.dropbox.com/s/ctf65uwlwyyo....rtf" bei execFile ein Übergabeparameter an das Programm sein soll? Wenn ja, bin ich mir nicht sicher, ob das so funktionieren kann (programmiere nur BMax, und dort funktioniert es nicht), weshalb ich in BMax extra eine Funktion erstellt habe, die Programme mit Übergabeparametern ausführen kann. Hier der BMax Code BlitzMax: [AUSKLAPPEN] Function exec(progname:String, args:String, deletebat:Int = True) (Den Code müsstest du evtl. noch auf BB anpassen) Funktionsweise: Es wird eine .bat-Datei erstellt (Daher funktioniert diese Funktion nur auf Windows), welche dann über OpenURL (äquivalent dazu in BB ist denke ich mal ExecFile) ausgeführt wird. Diese startet das mit progname (Dateipfad) angegebene Programm mit den bei args aufgeführten Parametern. Mit deletebat kannst du steuern, ob die .bat nach dessen Ausführung gelöscht werden soll oder nicht. Beispielaufruf: BlitzMax: [AUSKLAPPEN] Exec("C:\curl", "www.dropbox.com/s/ctf65uwlwyyo....rtf") |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein nein, unter BB kann man auch ohne Probleme Parameter übergeben, das passt schon so. Man muss nur das Programm mit den richtigen Parametern ausführen:
-k für insecure-Modus, wo er die Zertifikate nicht überprüft (wird benötigt für HTTPS wenn man keine Zertifikate zur Verfügung stellen will) -o filename um die Output-Datei zu spezifizieren oder -O um die Datei unter dem Namen zu speichern, unter dem sie am Server liegen. Code: [AUSKLAPPEN] curl -k -O https://www.dropbox.com/s/db15ie90a77096i/Erste%20Schritte.pdf
Speichert die Datei im momentanen Ordner als "Erste Schritte.pdf" Code: [AUSKLAPPEN] curl -k -o meinTestFile.pdf https://www.dropbox.com/s/db15ie90a77096i/Erste%20Schritte.pdf
Speichert die Datei im momentanen Ordner als "meinTestFile.pdf" |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
BritannyBetreff: Dropbox öffen mit curl (https files öffnen) |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist ja klasse welche Lösungswege ihr gefunden habt. Vielen dank euch allen. Jetzt steht das Problem der https Downloads kurz vor [solved] ![]() Mithilfe von curl und den richtigen Einstellungen ist es möglich Dateien zuladen. Diese Dateien sind bei mir jedoch immer nur 1 kb groß. Egal ob ich nun eine Grafik oder eine Textdatei geladen habe. Zudem ist die Original Größe der Files in der Dropbox gleichsam unbedeutend. Die down geladene Files sind immer nur 1 kb groß. Wenn ich die down geladenen Files nun mit einem Texteditor öffne beinhalten diese etwas html code und ein token_hash. Code: [AUSKLAPPEN] <html>
<head><title>Found</title></head> <body> <h1>Found</h1> <p>The resource was found at <a href="https://dl.dropboxusercontent.com/s/ctf65uwlwyyo8f3/Dokument.rtf?token_hash=AAFwLvcYlFE9LPZmjLpvSpuTFdrNIMhj_KDEg__gsQafgg">https://dl.dropboxusercontent.com/s/ctf65uwlwyyo8f3/Dokument.rtf?token_hash=AAFwLvcYlFE9LPZmjLpvSpuTFdrNIMhj_KDEg__gsQafgg</a>; you should be redirected automatically. <!-- --></p> <hr noshade> <div align="right">WSGI Server</div> </body> </html> Kopiere ich folgendes aus dem File heraus "https://dl.dropboxusercontent.com/s/ctf65uwlwyyo8f3/Dokument.rtf?token_hash=AAFwLvcYlFE9LPZmjLpvSpuTFdrNIMhj_KDEg__gsQafgg" und setze es im IExlorerer ein, öffnet sich die Windowsinterne Popup-Box und ich kann durch manuelles klicken nun das File speichern, öffnen oder aber die Aktion abbrechen. Nun soll aber nicht der User manuell den Download starten, sondern soll dieses automatsch vom Programm ausgeführt werden. Entweder muss da noch ein Parameter bei curl eingefügt werden, oder es müsste eine Blitzbasic Funktion programmiert werden die letztes automatisiert. Oder aber ich habe da etwas unberücksichtigt gelassen? Noch mal Herzlichen dank an euch für eure Zeit und speziell an DAK, Co2 und Eingeproggt. Schon jetzt bin ich dank euch einen riesen Schritt weiter gekommen. |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probier noch mal den Link mittels "Link freigeben" zu holen. Es scheint mir von den Ausgaben her, als wäre der Link nicht mehr aktuell (kriege eine Meldung mit "permanently moved") | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dropbox erlaubt nur schlicht keine direkt downloads mehr. | ||
BritannyBetreff: curl, dropbox und https download |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Leider bleiben alle Lösungsversuche problematisch und sind nicht optimal einsetzbar.
Ein paralleler Versuch via einer gewöhnlichen Homepage verspricht mir da momentan mehr. Da alles über http läuft kann man Bilder und Texte ganz einfach darüber laden. Sowohl auf Festplatte als auch als Data direkt im Speicher (Programm). Ich denke aber das hier sehr gute Ansätze gefunden worden sind die dazu führen werden auch mal Dropbox und Co (https) zu nutzen. Nur eine frage der Zeit ![]() Danke euch allen für eure hilfreichen Tipps und werde mich vorerst einen neuen Thema zuwenden. Besondern dank an, Eingeproggt, DAK, CO2, BtbN und alle anderen die sich mit dem Thema beschäftigt haben. lg Britanny |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich könnte dir da www.lima-city.de empfehlen. Bin dort schon seit so ~5 Jahren und finde die super. Gratis werbefreier Host, der dir (auf dem Downloadserver) erlaubt, auch Sachen, die nicht-Websiten-Dateien zwischenzulagern. Dafür geht der Direktdownload auch. | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
BritannyBetreff: ... |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für den link DAK, denke das werde ich dort gut nutzen. Bin auch gerade dabei mir einiges an HTML anzueignen. THX lg Britanny | ||
BritannyBetreff: Zusammenfassung download von Dropbox |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe nun einen ziemlichen Spagetti-Code *schäm* zusammengewürfelt der aber funktioniert bei mir. Ist sehr langsam und schlecht strukturierte. Sry. Sollte eine schöne Funktion werden. Aber meine Zeit ist momentan stark begrenzt (Jobsuche). Dennoch möchte ich euch den Code nicht vorenthalten ![]() Code: [AUSKLAPPEN] Graphics 1280, 480, 32, 2 Function LoadWebFile( srcFile$, dstFile$ ) Local TCPStream, tmpPos, dataSize, tmpBank Local Host$ = "", HTTPHeader$ = "" If ( Left( srcFile$, 7 ) = "http://" ) srcFile$ = Right( srcFile$, Len( srcFile$ ) - 7 ) tmpPos = Instr( srcFile$, "/" ) If ( tmpPos ) Then Host$ = Left( srcFile$, tmpPos - 1 ) srcFile = Right( srcFile$, Len( srcFile ) - tmpPos + 1 ) Else Host$ = srcFile$ srcFile$ = "/" End If TCPStream = OpenTCPStream( Host$, 80 ) If ( Not TCPStream ) Then RuntimeError( "Fehler beim verbinden zu: " + Host$ ) End If WriteLine( TCPStream, "GET " + srcFile$ + " HTTP/1.1" ) WriteLine( TCPStream, "Host: " + Host$ ) WriteLine( TCPStream, "Accept: */*" ) WriteLine( TCPStream, Chr$( 10 ) ) Repeat HTTPHeader$ = ReadLine( TCPStream ) If ( Left( HTTPHeader$, 16 ) = "Content-Length: " ) Then dataSize = Right( HTTPHeader$, Len( HTTPHeader$ ) - 16 ) End If Until HTTPHeader$ = "" Or Eof( TCPStream ) If ( dataSize > 0 ) file = WriteFile( dstFile$ ) tmpBank = CreateBank( 65536 ) If ( Not file ) Then RuntimeError( "Fehler beim erstellen der Downloaddatei" ) End If Repeat s = ReadBytes( tmpBank, TCPStream, 0, 65536 ) WriteBytes( tmpBank, file, 0, s ) Until s <> 65536 CloseFile( file ) CloseTCPStream( TCPStream ) FreeBank( tmpBank ) End If End Function x$="C:Downloads\curl-7.34.0-rtmp-ssh2-ssl-sspi-zlib-winidn-static-Bin-w64\curl-7.34.0-rtmp-ssh2-ssl-sspi-zlib-winidn-static-Bin-w64/curl.exe -k -o " ; Verzeichniss der curl.exe y$="c:\Games\Amberworlds/" ; Verzeichniss in dem das Textfile mit dem Tocken gespeichert werden soll Df$="neu2.txt" ; Filename und Filetyp unter der gespeichert werden soll !!! Textfile !!! Tocken !!! ExecFile x$+y$+Df$+" https://www.dropbox.com/s/ozdupykca377yjb/213.bmp" ; Link zu einer von mir bisher frei gegebener Grafikdatei Delay 3000 ; Aus irgendeinem Grund muss hier eine Zeitverzögerung rein ??? File = ReadFile(y$+Df$) ;Datei öffnen While Not Eof(file) T$ = ReadLine(file) If Instr(T$,"href=",1) > 0 Then st = Instr(T$,"https://",1) en = Instr(T$,">https://",1) newT$="http"+Mid$(T$,st+5,(en-st)-6) Print newT$ LoadWebFile( newT$, y$+"neu2.bmp" ) ; Hier der eigendlich Droipbox download. Hier noch mit Hand den Filenamen und den Filetyp angegeben End EndIf Print T$ Wend CloseFile File Print "Press ESC again To quit this!" Repeat Until KeyHit(1) WaitKey End lg & entspannendes Wochenende ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group