上传文件时出错

我一直收到ERROR: Please browse for a file before clicking the upload button. 选择要上传的图像文件时。 我试图在更改上上传文件,而不是点击提交以获得更友好的用户体验。

HTML

  
<img src="https://stackoverflow.com/questions/15818668/error-when-uploading-file/">

jQuery的/ JavaScript的

 function handleFiles(files) { for (var i = 0; i < files.length; i++) { var file = files[i]; var imageType = /image.*/; if (!file.type.match(imageType)) { continue; } var img = document.createElement("img"); img.classList.add("newphoto"); img.file = file; profilephoto.appendChild(img); var reader = new FileReader(); reader.onload = (function(aImg) { return function(e) { aImg.src = e.target.result; }; })(img); reader.readAsDataURL(file); var eventt = jQuery.Event("submit"); $("#imguploadin").trigger(eventt); } } 

PHP(image_upload_script.php)

  1242880) { // if file size is larger than 5 Megabytes echo "ERROR: Your file was larger than 5 Megabytes in size."; unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder exit(); } else if (!preg_match("/.(gif|jpg|png)$/i", $fileName)) { // This condition is only if you wish to allow uploading of specific file types echo "ERROR: Your image was not .gif, .jpg, or .png."; unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder exit(); } else if ($fileErrorMsg == 1) { // if file upload error key is equal to 1 echo "ERROR: An error occured while processing the file. Try again."; exit(); } // END PHP Image Upload Error Handling ---------------------------------------------------- // Place it into your "uploads" folder mow using the move_uploaded_file() function $moveResult = move_uploaded_file($fileTmpLoc, "images/users/$username.$fileExt"); // Check to make sure the move result is true before continuing if (!$moveResult) { echo "ERROR: File not uploaded. Try again."; unlink($fileTmpLoc); // Remove the uploaded file from the PHP temp folder exit(); } // ---------- Include Adams Universal Image Resizing Function -------- include_once("ak_php_img_lib_1.0.php"); $target_file = "images/users/$username.$fileExt"; $resized_file = "images/users/resized_$username.$fileExt"; $wmax = 200; $hmax = 150; ak_img_resize($target_file, $resized_file, $wmax, $hmax, $fileExt); $thumbnail = "images/users/thumb_$username.$fileExt"; $wthumb = 150; $hthumb = 150; ak_img_thumb($target_file, $thumbnail, $wthumb, $hthumb, $fileExt); // ----------- Write Image File path to the server --------------------------------- $sql_user = "myuser"; $sql_pass = "mypassword"; $sql_ip = "localhost"; $sql_DB = "mydb"; if ($moveResult != true) echo("couldnt write file path to database due to unsuccesfull upload"); else { $mysqli = new mysqli($sql_ip, $sql_user, $sql_pass, $sql_DB); if ($stmt = $mysqli->prepare("UPDATE users SET avatar=? WHERE username=?")) { $user = $_SESSION['username']; $avatar = $resized_file; $stmt->bind_param('ss', $avatar, $user); $stmt->execute(); $stmt->close(); //header('location: profile.html'); return true; } $mysqli->close(); } // ----------- End Adams Universal Image Resizing Function ----------- // Display things to the page so you can see what is happening for testing purposes echo "The file named $username.$fileExt uploaded successfuly.

"; echo "It is $fileSize bytes in size.

"; echo "It is an $fileType type of file.

"; echo "The file extension is $fileExt

"; echo "The Error Message output for this upload is: $fileErrorMsg"; ?>

您的表单缺少上传文件所需的enctype="multipart/form-data"属性。