首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将文件对象保存到文件中- sweetalert2 - javascript - php

将文件对象保存到文件中- sweetalert2 - javascript - php
EN

Stack Overflow用户
提问于 2018-08-01 23:09:20
回答 1查看 149关注 0票数 0

根据example的说法,我设置了一个带有文件输入的SweetAlert2弹出窗口(只允许图像)

代码语言:javascript
运行
复制
const {value: file} = await swal({
                title: "Image upload",
                text: "Upload your profile image",
                input: 'file',
                inputAttributes: {
                    'accept': 'image/*',
                    'aria-label': "Upload here your image"
                }
            });

然后我通过XMLHTTPRequest向一个PHP文件发送了一个ajax请求:

代码语言:javascript
运行
复制
if (file) {
                if (!file) throw null;
                swal.showLoading();

                if (window.XMLHttpRequest) {
                    // code for modern browsers
                    var xmlhttp = new XMLHttpRequest();
                } else {
                    // code for old IE browsers
                    var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function () {
                    // success message
                };

                xmlhttp.open("GET", "includes/uploadimage.php?image=" + file, true);
                xmlhttp.send();

            }

PHP文件会将SweetAlert2输入(然后通过XMLHttpRequest传递)生成的文件对象保存在服务器上的一个文件中,但我不知道该怎么做。

EN

Stack Overflow用户

回答已采纳

发布于 2018-08-07 20:24:06

我通过使用JS阅读器解决了这个问题,从其中读取数据URI,并使用POST XMLHttpRequest通过FormData发送数据URI。

代码语言:javascript
运行
复制
if (file) {
                if (!file) throw null;
                swal.showLoading();
                const reader = new FileReader;
                reader.onload = (e) => {
                    const fd = new FormData;
                    fd.append('image', e.target.result);
                    if (window.XMLHttpRequest) {
                        // code for modern browsers
                        var xmlhttp = new XMLHttpRequest();
                    } else {
                        // code for old IE browsers
                        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                    }
                    xmlhttp.onreadystatechange = function () {
                        // ... do something ...
                    };

                    xmlhttp.open("POST", "includes/uploadimage.php", true);
                    xmlhttp.send(fd);
                };
                reader.readAsDataURL(file)
        }
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51636764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档