Перенос Файлового объекта из входного файла в php back-end [duplicate]

Просто скомпилируйте и разобщите свою строку кода, если вы так склонны знать, как именно вы получаете то, что получаете.

Это то, что я получаю на своей машине, вместе с тем, что я думаю, что происходит:

$ cat evil.c
void evil(){
  int i = 0;
  i+= i++ + ++i;
}
$ gcc evil.c -c -o evil.bin
$ gdb evil.bin
(gdb) disassemble evil
Dump of assembler code for function evil:
   0x00000000 <+0>:   push   %ebp
   0x00000001 <+1>:   mov    %esp,%ebp
   0x00000003 <+3>:   sub    $0x10,%esp
   0x00000006 <+6>:   movl   $0x0,-0x4(%ebp)  // i = 0   i = 0
   0x0000000d <+13>:  addl   $0x1,-0x4(%ebp)  // i++     i = 1
   0x00000011 <+17>:  mov    -0x4(%ebp),%eax  // j = i   i = 1  j = 1
   0x00000014 <+20>:  add    %eax,%eax        // j += j  i = 1  j = 2
   0x00000016 <+22>:  add    %eax,-0x4(%ebp)  // i += j  i = 3
   0x00000019 <+25>:  addl   $0x1,-0x4(%ebp)  // i++     i = 4
   0x0000001d <+29>:  leave  
   0x0000001e <+30>:  ret
End of assembler dump.

(I ... предположим, что команда 0x00000014 была какой-то оптимизацией компилятора?)

48
задан Sedat Başar 20 May 2013 в 03:58
поделиться

1 ответ

  1. Нет такой вещи, как xhr.file = file;; файловый объект не должен прикрепляться таким образом.
  2. xhr.send(file) не отправляет файл. Вы должны использовать объект FormData для переноса файла в объект данных post multipart/form-data:
    var formData = new FormData();
    formData.append("thefile", file);
    xhr.send(formData);
    

. После этого к файлу может быть доступ в $_FILES['thefile'] (если вы используете PHP).

Помните, что MDC и демоны Mozilla Hack - ваши лучшие друзья.

EDIT: 2), было неверно. Он отправляет файл, но он будет отправлять его в качестве исходных данных. Это означает, что вам придется анализировать его самостоятельно на сервере (и это часто невозможно, зависит от конфигурации сервера). Читайте, как получить исходные данные в PHP здесь .

83
ответ дан timdream 25 August 2018 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: