test.html 3.88 KB
Newer Older
Ford committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Upload Folder Example</title>
</head>
<body>
<form id="uploadForm" enctype="multipart/form-data">
    <input type="file" id="avatar" name="avatar"><br><br>
    <input type="file" id="poster" name="poster"><br><br>
    <input type="file" id="folderInput" webkitdirectory mozdirectory directory multiple>
</form>
  <button onclick="uploadFolder()">Upload</button>
<script>
    function login() {
        // 用户名和密码设置为 "admin"
        let username = 'admin';
        let password = 'admin';

        // 创建 URLSearchParams 对象并添加参数
        let params = new URLSearchParams();
        params.append('username', username);
        params.append('password', password);

        // 设置请求头
        let headers = {
            'Content-Type': 'application/x-www-form-urlencoded'
        };

        // 发送 POST 请求
        fetch('http://localhost:8089/login', {
            method: 'POST',
            headers: headers,
            body: params.toString()  // 将 URLSearchParams 对象转换为字符串
        })
            .then(response => {
                if (response.ok) {
                    return response.json();  // 如果响应状态码为 2xx,解析响应体为 JSON
                } else {
                    throw new Error('Network response was not ok');
                }
            })
            .then(data => {
                console.log('登录成功:', data);  // 处理响应数据
            })
            .catch(error => {
                console.error('登录失败:', error);  // 处理错误
            });
    }
    console.log("========== login(); ==========")
    // 调用 login 函数
    login();
    function uploadFolder() {
        let input = document.getElementById('folderInput');
        console.log(input)
        // 确保用户选择了一个文件夹
        if (!input.files || !input.files.length) {
            return alert('Please select a folder to upload.');
        }
        let files = input.files;
        let formData = new FormData();
        // 使用append()方法动态添加数据
        formData.append('name', '马斯克');
        formData.append('gender', 'male');
        formData.append('personality', '科技大佬');
        formData.append('catchphrases', '口头禅');
        formData.append('backgroundInfo', '背景信息');
        formData.append('visibility', 'public');
        formData.append('id', '6');
        formData.append('model_driver_type', '3d');
        formData.append('voice_type', '东北辽宁少女口音');

        console.log(formData.get("id"))

        // 添加文件
        let avatarInput = document.getElementById('avatar');
        if(avatarInput.files[0]) {
            formData.append('avatar', avatarInput.files[0]);
        }

        let posterInput = document.getElementById('poster');
        if(posterInput.files[0]) {
            formData.append('poster', posterInput.files[0]);
        }


        // 将文件的相对路径和文件对象添加到FormData中
        for (let i = 0; i < files.length; i++) {
            formData.append('mode_file', files[i], files[i].webkitRelativePath);
        }

        // 创建一个 XMLHttpRequest 对象进行异步请求
        let request = new XMLHttpRequest();
        request.open('POST', 'http://localhost:8089/digitalpersons/edit', true);

        request.onload = function() {
            if (request.status === 200) {
                // 文件上传成功的处理
                console.log(request.responseText);
            } else {
                // 文件上传失败的处理
                console.error(request.responseText);
            }
        };

        // 发送FormData对象到服务器
        request.send(formData);
    }
    console.log(1111)
</script>

</body>

</html>