Hi again, i was reading that there is no way to do the ascii transfer, but
winscp can do that. It has a GUI, in that GUI you can specify
the file is a text file, and it uploads the file whitout any problem.

So there is a way to do that but i can find out how.
Do you have any suggestions?

thanks!


2013/5/28 Cristian Simonelli <crist...@cristiansimonelli.com.ar>

> Hi Daniel. First of all tank you for replying to my email.
> I read that, but actually i don“t know where i supposed to write this flag.
> I am doing this:
>
> int enviar(LIBSSH2_SESSION *session, char* pathArchivoRemoto, char*
> pathArchivoLocal)
> {
>
>     LIBSSH2_SFTP_HANDLE *sftp_handle;
>     LIBSSH2_SESSION *sftp_session;
>     FILE* f;
>     int rc = 0, nread;
>     char *ptr;
>     LIBSSH2_SFTP_ATTRIBUTES atributos;
>
>     f = fopen(pathArchivoLocal, "r");
>
>     sftp_session = libssh2_sftp_init(session);
>
>
>     if (f == NULL)
>     {
>         return -1;
>     }
>
>     /* Request a file via SFTP */
>     sftp_handle =
>         libssh2_sftp_open(sftp_session,
> pathArchivoRemoto,
>                       LIBSSH2_FXF_WRITE|LIBSSH2_FXF_CREAT|*SSH_FXF_TEXT*,
>                       LIBSSH2_SFTP_S_IRUSR|LIBSSH2_SFTP_S_IWUSR|
>                       LIBSSH2_SFTP_S_IRGRP|LIBSSH2_SFTP_S_IROTH);
>
>     if (!sftp_handle) {
>         //ver que se hace
>     }
>
>     do {
>         char mem[1024];
>         nread = fread(mem, 1, sizeof(mem), f);
>         if (nread <= 0) {
>             break;
>         }
>         ptr = mem;
>
>         do {
>             /* write data in a loop until we block */
>             rc = libssh2_sftp_write(sftp_handle, ptr, nread);
>             if(rc < 0)
>                 break;
>             ptr += rc;
>             nread -= rc;
>         } while (nread);
>
>     } while (rc > 0);
>
>
>     fclose(f);
>     libssh2_sftp_close(sftp_handle);
>     libssh2_sftp_shutdown(sftp_session);
>     libssh2_exit();
>
>     return 0;
> }
>
>
>
> where *SSH_FXF_TEXT is 0x00000040.
> *
> Thanks and best regards!*
> *
>
>
> 2013/5/27 Daniel Stenberg <dan...@haxx.se>
>
>> On Mon, 27 May 2013, Cristian Simonelli wrote:
>>
>>  So the question is "How can i specify to the sftp server that the file
>>> is a
>>> text file?"
>>>
>>
>> My best suggestion is the SSH_FXF_TEXT flag sent in the SSH_FXP_OPEN
>> request, as per section 6.3.1 in draft-ietf-secsh-filexfer-05.**txt[*]
>>
>> (Later SFTP protocol versions seem to have a 'text-hint' that is
>> different.)
>>
>> [*] =
>> http://tools.ietf.org/wg/**secsh/draft-ietf-secsh-**
>> filexfer/draft-ietf-secsh-**filexfer-05.txt<http://tools.ietf.org/wg/secsh/draft-ietf-secsh-filexfer/draft-ietf-secsh-filexfer-05.txt>
>>
>> --
>>
>>  / daniel.haxx.se
>> ______________________________**_________________
>> libssh2-devel http://cool.haxx.se/cgi-bin/**
>> mailman/listinfo/libssh2-devel<http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel>
>>
>
>
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

Reply via email to