2016-07-10 30 views
0
I have the following code to get image from another pc. 
[email protected] off 
    !md c:\edrs\memphoto 
    !echo InHouse>> d:\ftp.txt 
    !echo abc>> d:\ftp.txt 
    !echo prompt>> d:\ftp.txt 
    !echo lcd C:\EDRS\memphoto>> d:\ftp.txt 
    !echo cd memphoto>> d:\ftp.txt 
    !echo mget &varphoto>> d:\ftp.txt 
    !echo bye>> d:\ftp.txt 
    [email protected] on 
    !ftp -s:d:\ftp.txt 172.16.1.11 
    *!dir 
    !del d:\ftp.txt 

Dieser Code lädt Datei in c: \ edrs \ memphoto Verzeichnis eines lokalen PCs von einem anderen PC.Wie in FoxPro für FTP-Dateiübertragung zu codieren

[email protected] off 
!md c:\edrs\memphoto 
!echo InHouse>> c:\ftp.txt 
!echo abc>> c:\ftp.txt 
!echo prompt>> c:\ftp.txt 
!echo lcd C:\EDRS\memphoto>> c:\ftp.txt 
!echo cd memphoto>> c:\ftp.txt 
!echo mget &varphoto>> c:\ftp.txt 
!echo bye>> c:\ftp.txt 
[email protected] on 
!ftp -s:c:\ftp.txt 172.16.1.11 
*!dir 
!del c:\ftp.txt 

Der obige Code kann Datei nicht in c: \ edrs \ memphoto eines PCs von einem anderen PC herunterladen. Ein weiterer Code ist unten angegeben:

[email protected] off 
!md c:\edrs\memphoto 
!echo InHouse>> c:\edrs\ftp.txt 
!echo abc>> c:\edrs\ftp.txt 
!echo prompt>> c:\edrs\ftp.txt 
!echo lcd C:\EDRS\memphoto>> c:\edrs\ftp.txt 
!echo cd memphoto>> c:\edrs\ftp.txt 
!echo mget &varphoto>> c:\edrs\ftp.txt 
!echo bye>> c:\edrs\ftp.txt 
[email protected] on 
!ftp -s:c:\edrs\ftp.txt 172.16.1.11 
*!dir 
!del c:\edrs\ftp.txt 

Dies funktioniert gut. Gibt es jemanden, der sagen kann, was der Grund ist?

+0

Was meinen Sie mit "muss nicht eine Datei in ein Verzeichnis schreiben" ... meinst du das Streamen in einen lokalen Puffer? –

+0

Dieser Code erstellt eine Datei ftp.txt in D-Verzeichnis eines lokalen PCs. Wenn also ein Verzeichnis schreibgeschützt ist, funktioniert dieser Code nicht. Ich muss so programmieren, dass es keine Verzeichnisabhängigkeit gibt. Ich weiß nicht, was mit "Streaming in einen lokalen Puffer" gemeint ist. Wenn es keine Verzeichniszugriffsabhängigkeit hat, ist es in Ordnung. –

+0

Ich brauche einen Code in FoxPro, der Datei überträgt, aber keine Verzeichnis-Schreibzugriffsabhängigkeit hat. –

Antwort

0

Sie sagen einem FTP-Server, Ihnen eine Datei über die Leitung zu geben. Wohin würde diese Datei gehen, wenn Sie sie nicht in einem Verzeichnis speichern würden? Wenn es in ein Verzeichnis gehen muss, benötigen Sie Schreibzugriff auf dieses Verzeichnis. Es gibt keine magische Möglichkeit, Betriebssystem-Dateisystemberechtigungen zu umgehen. Ihr Problem ist daher ein Dateisystemberechtigungs-Problem, und Sie müssen zunächst nach Schreibzugriff auf das ausgewählte Verzeichnis suchen und einen Fehler entsprechend behandeln, bevor Sie überhaupt eine FTP-Übertragung starten.

+0

Ich denke, ich kann meine Meinung nicht ausdrücken. Mein Büro sagte mir, dass Ihr C-Laufwerk keine Schreibberechtigung hat. Aber ich bin mir nicht sicher. Der Code, den ich hier erwähnt habe, erstellt das Verzeichnis edrs \ memphoto im c-Laufwerk. Aber es kann keine Datei ftp.txt in Laufwerk C erstellen, wenn ich d: \ ftp.txt mit c: \ ftp.txt ändere und auch keine Datei übertragen kann. Deshalb ändere ich den Code als d: \ ftp.txt. Das erstellt eine Datei ftp.txt in d-Verzeichnis und kann auch Datei in C-Verzeichnis übertragen. Ich denke darüber nach, ob es möglich ist, eine Datei zu übertragen, indem ich diese ftp.txt nicht erstelle –