Передача файла через почтовый запрос - PullRequest
0 голосов
/ 02 января 2019

Я довольно новичок в php. Я пытаюсь загрузить файл. И это работает. Но сейчас я пытаюсь сделать POST-запрос через C # (не зависит от C #, ошибка должна быть где-то в моем php-коде), и он не работает. Ответ / Ошибка говорит:

Undefined index: fileToUpload in <b>C:\xampp\htdocs\subdir\process.php</b> on line <b>8</

строка 8, например, $ target_file = $ target_dir. rand () .basename ($ _ FILES ["fileToUpload"] ["name"]);

Я проверил заголовок запроса с помощью fiddler при успешной загрузке файла через веб-сайт, но не получаю никакой информации, которая могла бы мне помочь.

Заголовок запроса Fiddler Raw:

POST /subdir/process.php HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 45551695
Cache-Control: max-age=0
Origin: http://localhost
Upgrade-Insecure-Requests: 1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryepwGfigXDyjxAtPu
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3650.1 Iron Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://localhost/subdir/upload.php
Accept-Encoding: gzip, deflate, br
Accept-Language: de-DE,de;q=0.9,en-US;q=0.8,en;q=0.7

upload.php:

<form action="process.php" method="post" enctype="multipart/form-data">
    <b>Select file to upload:</b><br><br>
    <input type="file" name="fileToUpload" id="fileID"><br>
    <input type="submit" value="Upload file" name="submit">
</form>

process.php:

header("Content-type: text/plain");
$target_dir = "uploads/";
$target_file = $target_dir . rand() .basename($_FILES["fileToUpload"]["name"]);

if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file. \nError Code:". $_FILES["fileToUpload"]['error'];
}
...