gpt4 book ai didi

javascript - 上传文件(图片)进行解析

转载 作者:行者123 更新时间:2023-12-03 08:48:10 25 4
gpt4 key购买 nike

我正在尝试上传一个文件(实际上是一张图片)进行解析。我使用以下 html 来实现这一点:

<body>
<form id="uploadPhoto">
<input type="file" id="profilePhotoFileUpload">
<input type="submit" id="submitButton" value="Submit" />
</form>
</body>

现在,问题是,当我尝试获取 profilePhotoFileUpload 的值 var image = document.getElementById('profilePhotoFileUpload').value; 时,我得到了文件路径的字符串而不是实际的图片。例如,当我执行 alert(image) 时,我得到 C:fakepath/twitterLogo.png。 但我希望实际图像位于该变量中。有人知道如何实现这一点吗?

我读了一大堆与此相关的其他帖子,其中涉及 PHP(我不懂 PHP)。我想知道是否可以绕过 PHP 部分并直接将其上传到 Parse...无论如何,如果您有解决此问题的方法,请告诉我!

最佳答案

如果您想在客户端处理文件(即不将文件上传到服务器),那么您必须访问元素上的 files 属性。

这是一个使用 vanilla JS 的快速工作示例:http://jsbin.com/woboju/edit?js,output

使用此代码,您可以单击上传按钮并选择图像。这会触发元素上的更改事件——注意:不是传统的表单提交。在事件处理程序中,第一个文件对象被获取并异步读取。一旦文件成功加载(onload),就会创建一个新的图像元素,其 src 属性将设置为结果数据 URL,并将该元素附加到文档中。

document.getElementById('profilePhotoFileUpload').addEventListener("change", function() {
var self = this;
var file = self.files[0];
var reader = new FileReader();

reader.onload = function() {
var img = document.createElement('img');
img.src = reader.result;

self.parentNode.appendChild(img);
};

reader.readAsDataURL(file);
}, false);

在最终代码中,您需要添加一些健全性检查,例如确保已选择图像。您还可以添加对一次选择多个图像的支持。

比照。 http://blog.teamtreehouse.com/reading-files-using-the-html5-filereader-api

关于javascript - 上传文件(图片)进行解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32793448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com