使用 XMLHttpRequest 上传文件

2023-12-30

我正在尝试使用拖放插件 http://pascalprecht.github.com/DnD.js/在javascript中使用ajax上传文件。

<script>
DnD.on('#drop-area', {

'drop': function (files, el) {
   el.firstChild.nodeValue = 'Drag some files here.';
   var names = [];
   [].forEach.call(files, function (file, i) {
      names.push(file.name + ' (' + file.size + ' bytes)');

   var xhr = new XMLHttpRequest();
   xhr.open('POST','upload.php');
   xhr.setRequestHeader("Content-type", "multipart/form-data"); 
   xhr.send(file);
   console.log(xhr.responseText);
});
document.querySelector('#dropped-files p i').firstChild.nodeValue = names.join(', ');
}
});
</script>

这是 upload.php:

<?php
print_r($_POST);
?>

基本上我还没有编写上传文件的脚本,因为我仍在弄清楚如何访问通过 JavaScript 发送的数据。你能指导我下一步该怎么做吗?如何从 upload.php 访问该文件。


尝试使用FormData代替xhr:

var formData = new FormData();
formData.append("thefile", file);
xhr.send(formData);

您可以通过此访问您的文件array:

<?php var_dump($_FILES["thefile"]); ?> 

查看更多:http://www.w3schools.com/php/php_file_upload.asp http://www.w3schools.com/php/php_file_upload.asp

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 XMLHttpRequest 上传文件 的相关文章

  • SMTP 配置在生产中不起作用

    我正在尝试在提交表单时发送电子邮件 我正在使用 PHPMailer 使用以下配置发送邮件 mail new PHPMailer mail gt isSMTP mail gt Host mail example in mail gt Port
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 自动完成仅显示消息并且结果可用,使用向上和向下箭头键进行导航。而是显示列表

    我的问题很清楚 我正在使用 jquery 自动完成 我不知道为什么它只向我显示消息 9 results are available use up and down arrow keys to navigate 没有向我显示结果列表 这是我的
  • kaminari ajax 分页不更新分页

    我正在使用 kaminari gem 在 Rails3 中实现分页 我一直在关注github上的这段代码https github com amatsuda kaminari example commits ajax https github
  • 如何将 HTML 转换为 Markdown?

    我有一个类似 stackoverflow 的网站 有一个文本区域 人们可以在其中写答案 我用这个 PHP 库 http parsedown org 转换降价 我的意思是我使用该函数来转换 italic to i italic i inclu
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 在字符串中间添加一个字符

    可能有一个简单的解决方案可以解决这个问题 但会引起面部表情 我将时间存储为 4 个字符长的字符串 即 1300 我试图将该字符串显示为 13 00 我觉得必须有一个比我现在正在做的更优雅的解决方案 我目前有 startTime get fi
  • 为什么验证不起作用并跳转到另一个页面?

    我写了一个customer display php来验证数据 到目前为止只有名字 但无论名字字段是否为空 网页都会跳转到customer search php并且没有更改数据库中的信息 为什么
  • 如何发送正确的授权标头以进行基本身份验证

    我正在尝试从 API 发布数据 但无法通过基本身份验证 I try ajax type POST url http theappurl com api v1 method data crossDomain true beforeSend f
  • 通过 facebook graph API 检索 facebook 用户的邮政编码

    我正在尝试使用 facebook graph API 检索用户的邮政编码 我正在使用以下代码 代码在php ini中 facebook new Facebook array appId gt APP ID secret gt APP SEC
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • apache_request_headers() 与 $_SERVER

    据我所知 apache request headers 提供与以下相同的信息 SERVER 但按键略有不同 为什么有人应该使用apache request headers 而不仅仅是从那里获取这些信息 SERVER 我在 Centos 上使
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • 检查 $_POST 数据

    我正在对表单进行一些垃圾邮件检查 下面的代码在我的本地主机上正常工作 如果为 true 则重定向到 google com 但是 当它在生产服务器上时却不起作用 执行脚本的其余部分并且不重定向到 Google com if POST SERV
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u

随机推荐

  • laravel -foreignId() 和 unsignedBigInteger() 之间的区别

    Laravel 新手 链接表时foreignId 和unsignedBigInteger 有什么区别 table gt unsignedBigInteger user id table gt foreignId user id 我两种都尝试
  • PHP 推特 OAuth

    我正在尝试通过 twitter oauth 对您网站上的用户进行注册和授权 我有问题 我在用http github com abraham twitteroauth http github com abraham twitteroauth
  • 在 Mac OS X 10.9.5 上安装 Ruby 2.1.3 时检查或清理工作树错误

    我正在尝试使用以下命令在 Mac OS X 10 9 5 上安装 Ruby 2 1 3rbenv install 2 1 3命令 但是我收到下面的错误消息 我尝试了有关堆栈溢出和其他地方的所有建议 似乎什么都不起作用 我目前拥有 10 9
  • 如何将自定义 jar 发布到本地 Apache Ivy 存储库

    我已阅读所有教程和示例 但仍然无法在本地 Ivy 存储库中发布一组自定义 jar 编辑 基本上我想要与 maven install plugin 相同的行为 这是我的设置 我有一个 Ant 任务 它在给定文件夹中生成 jars 文件夹名称不
  • 如何在优先级队列中使用pair,然后使用键作为优先级返回值

    所以我想使用最小的键作为优先级 然后返回相应键的 VALUE import javafx util Pair import java util PriorityQueue public class Test public static vo
  • 实体框架更新 - 上下文当前未跟踪实体

    我正在尝试更新实体 但收到以下错误 上下文当前未跟踪该实体 我的数据库表由以下字段组成 赛程日期 联赛 ID FK A 队 FK B 队 FK 我的代码如下 public void UpdateFixture Fixture validFi
  • 如何在 Next Js (React) 中实施 adobe 分析?

    我已经提出了在我构建的 React js 应用程序中添加 adobe Analytics 的要求 请抱歉 我对如何实现它没有任何基本的想法 理解 所以专家的帮助对我来说非常有帮助 要求是我需要在中实施 adobe 分析next js wit
  • .Net ThreadPool 线程上的异常

    复制 如何从 ThreadPool QueueUserWorkItem 捕获异常 https stackoverflow com questions 753841 我正在 Net ThreadPool 上对多个委托进行排队 以进行大量独立的
  • 如何在 Aptana Studio 中自动缩进 JavaScript 代码?

    之前我使用Eclipse进行PHP和Java开发 我喜欢这个命令Ctrl i自动缩进代码 现在我使用基于Eclipse的Aptana Studio进行JavaScript开发 我想自动缩进我的 JavaScript 代码 但是Ctrl i删
  • 如何将外部CSS应用到flutter webview中的html渲染

    我想将外部 css 应用到在 flutter webview 中渲染的 html 在 android 中 它是使用以下语法完成的 您可以通过调用以下命令将任何 JavaScript 提交到您的 Web 视图 flutterWebViewPl
  • “System.Data.Entity.Internal.AppConfig”的类型初始值设定项引发异常

    我正在 MVC 4 aspnet 网站中使用 EF5 在本地 一切正常 但是当我将其发布到 IIS 并尝试进入时 出现错误 System Data Entity Internal AppConfig 的类型初始值设定项 抛出异常 详细异常情
  • 填充div的空间

    我想要一个元素来填充父 div 的剩余空间 我已经成功做到了这一点 您可以在此处看到 链接已删除 但填充 div 右侧 位于左侧 div 下方 我基本上希望右侧的 div 从左侧的 div 结束的地方开始 希望这是有道理的
  • 从 TangoService_connectOnFrameAvailable 保存帧

    如何通过 TangoService connectOnFrameAvailable 保存帧并在我的计算机上正确显示它 作为此参考页 https developers google com project tango apis c struc
  • Angular bootstrap typeahead 不适用于 Angular 1.3.0

    我创建了一个小插件来表明这是行不通的 任何人都可以帮助我如何使用 typeahead 与 1 3 0 angularJS 提供替代解决方案 我们将其与 angular bootstrap 0 11 0 和最新版本的 bootstrap 一起
  • 角度测试在反应式表单上提交事件

    Context 我有一个具有基本形式 反应形式 的组件 我尝试测试此表单上的提交事件 看看它是否正确调用了必要的方法 我的问题 无法触发表单的提交事件 Files 组件 html
  • 如何使用新的 jstree v3.0.0 按需加载子项

    我正在寻找一些帮助在 jstree 中按需 扩展 填充子节点 我可以填充父节点 但无法填充子节点 设想 我正在使用 jstree 来填充树中的节点 我的数据源是json 但是 我从不同的服务获取父节点 从不同的服务获取子节点 我正在使用新的
  • 使用 GPU 加速 MATLAB 代码?

    AccelerEyes 于 2012 年 12 月宣布与 Mathworks 合作开发 GPU 代码 并已停止生产 Jacket for MATLAB http blog accelereyes com blog 2012 12 12 ex
  • 构建maven项目时编译错误

    我们正在尝试从 Jenkins 构建并部署一个 Maven 工件到我们的 Nexus 存储库管理器中 但我们在构建过程中遇到了编译错误 这是我们收到的错误 错误 未能执行目标 org apache maven plugins maven c
  • 如何在 Chrome 上调试 JavaScript

    我有一个奇怪的问题 jquery load 有时在 chrome 上失败 我不会用细节来打扰你们 我只是在寻找如何调试这样的问题的指导者 我想也许 firebug 可以提供帮助 但问题只发生在 chrome 上 甚至适用于 IE 我做类似的
  • 使用 XMLHttpRequest 上传文件

    我正在尝试使用拖放插件 http pascalprecht github com DnD js 在javascript中使用ajax上传文件