html+js上传图片到指定文件夹
时间: 2023-07-27 18:32:36 浏览: 472
要实现在HTML和JS中上传图片到指定文件夹,可以利用HTML5的File API和XMLHttpRequest对象来实现。
以下是一个简单的HTML和JS代码示例:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Upload Image</title>
</head>
<body>
<form>
<input type="file" id="fileInput">
<button type="button" onclick="uploadImage()">Upload</button>
</form>
<script>
function uploadImage() {
var fileInput = document.getElementById('fileInput');
var file = fileInput.files[0];
var folderName = 'your_folder_name'; // 指定文件夹名
var xhr = new XMLHttpRequest();
xhr.open('POST', 'upload.php'); // 上传的 PHP 文件
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('X-File-Name', file.name);
xhr.setRequestHeader('X-File-Size', file.size);
xhr.setRequestHeader('X-File-Type', file.type);
xhr.send(file);
}
</script>
</body>
</html>
```
上述代码中,我们首先创建了一个表单,其中包含了一个文件上传控件和一个上传按钮,用户选择文件后点击上传按钮即可上传。上传按钮的点击事件调用了名为 `uploadImage()` 的函数。该函数通过 `document.getElementById()` 获取文件上传控件,然后使用 `XMLHttpRequest` 对象发送一个 POST 请求到指定的 PHP 文件(upload.php),并传递了上传的文件对象,以及一些自定义的请求头信息,包括文件名、文件大小和文件类型等。
在 PHP 文件中,我们可以根据传递的请求头信息和文件对象,将文件保存到指定文件夹中。以下是一个简单的 PHP 代码示例:
```php
<?php
$folderName = $_SERVER['HTTP_X_FOLDER_NAME']; // 获取上传的文件夹名
$fileName = $_SERVER['HTTP_X_FILE_NAME']; // 获取上传的文件名
$fileSize = $_SERVER['HTTP_X_FILE_SIZE']; // 获取上传的文件大小
$fileType = $_SERVER['HTTP_X_FILE_TYPE']; // 获取上传的文件类型
$fileData = file_get_contents('php://input'); // 获取上传的文件内容
$filePath = './uploads/' . $folderName . '/' . $fileName; // 指定上传文件的路径
file_put_contents($filePath, $fileData); // 将上传的文件保存到指定文件夹中
?>
```
在上述 PHP 代码中,我们首先获取了上传的文件夹名、文件名、文件大小、文件类型和文件内容等信息,然后根据文件夹名和文件名指定了上传文件的路径,最后使用 `file_put_contents()` 函数将文件保存到指定文件夹中。注意,这里的文件保存路径是相对于 PHP 文件所在的目录的,因此需要根据实际情况修改路径。
阅读全文