Enviar un archivo a un servidor

Iniciado por Vaagish, 5 Febrero 2014, 19:43 PM

0 Miembros y 3 Visitantes están viendo este tema.

Vaagish

CitarLa funcion strcat trabaja con cadenas, eso significa que al encontrar un valor nulo 0, esta dejara de copiar, y a ser un valor binario segurisimo que hay un 0.

Sip,, ya lo había arreglado..

Citarlos punteros se podrian arreglar y todas esas funciones tambien.

Jajaja yo sabia que no escapaba del ojo meticuloso.. es una basura el código,, pero deberia funcionar,, entonces lo arreglo  :P voy a poner una actualización del code:

Código (cpp) [Seleccionar]
#include "main.h"
#include "conexion.h"

#include <iostream>
using namespace std;

char A[65] = "POST /Proyectos/Uploads/uploader.php HTTP/1.1\r\nhost: 127.0.0.1\r\n";
char B[27] = "Content-type: image/jpeg\r\n";
char C[23] = "Content-Length: 3024\r\n";
char D[3] = "\r\n";

char ConnString[3141] = "";


int main()
{

SOCKET Sock = Conectar();
HANDLE Rec_Handle = CreateThread(NULL, 0, Recibir, NULL, NORMAL_PRIORITY_CLASS, NULL);

// ARCHIVO
FILE *Archivo;
char Buff[3024];
Archivo = fopen("auto.jpg", "rb");
int Tamano = fread(Buff, 1, 3024, Archivo);
fclose(Archivo);
// ******************************************

strcat(ConnString, A);
strcat(ConnString, B);
strcat(ConnString, C);
strcat(ConnString, D);

memcpy(ConnString + strlen(ConnString), Buff, Tamano);

send(Sock, ConnString, 3138, 0);

// closesocket(Sock);

cin.get();
return 0;
}


Bueno,, en fin.. ya estoy a un pelo de hacer mis propias funciones en PHP y C++ para subir archivos,, (capaz que me queda hasta mejor).. abro el archivo como binario,, lo divido en partes,, le mando al server la cantidad de partes y el nombre,, y después lo uno y lo escribo con PHP y listo,,, me parece que va a ser mas fácil y multi proposito!

Saludos!!

cpu2

Bueno por la forma de expresarte seguro que ya resolviste el problema, pero segun lo que e visto, en la expresion "Content-Length:" tienes que poner solo la longitud del archivo a enviar, no tienes que sumarlo todo.

No comprendo porque declaras las ordenes en cuatro punteros, porque no lo haces en uno? Solamente tendrias que agrandar el puntero para añadir la imagen, o asi lo veo yo.

Un saludo.