当文件被上传时,它究竟发生了什么
What exactly happens to a file when it is uploaded?
我的问题确实想知道是否有可能首先上传所有文件,然后有时提取其元数据?我正在开发一个web api,这将允许我上传文件和提取他们的元数据。我一直使用的提取元数据的方法是每次上传一个文件,提取其元数据并将其打印出来。我希望在客户端 (javascript)上实现这一点,并且还能够允许用户从服务器下载上传的文件(一个类似dropbox的实现,也允许元数据操作)。这可能吗?
非常感谢您的宝贵时间!如前所述,在服务器上,这些文件被放置在一个临时文件夹中,在那里您可以对它们进行任何操作。
如果我正确理解多部分http请求,它们应该在技术上能够发送多个文件,但仅考虑带宽问题,我不会采用这种方法。甚至不确定服务器端应用程序,例如PHP,是否可以处理这个
我希望我正确理解了你的用例。对于您的情况,我建议通过AJAX请求将文件发送到后台的PHP脚本,因此对于用户来说,在发生任何其他事情之前,似乎所有文件都是首先上传的。在后台,循环遍历选定的文件并将它们发送到服务器,每次发送一个文件。服务器可以读取元数据并将其发送回浏览器,在那里您可以用JS进一步处理它。
我自己从来没有这样做过,但这对我来说似乎是一个常见的问题,所以网上应该有很多信息。这个看起来不错:http://blueimp.github.io/jQuery-File-Upload/(第一次点击谷歌"jquery多文件上传")
上传文件时,您的web服务器将接受文件并将其存储在临时文件夹中,直到文件上传完成。
文件上传完成后,PHP脚本启动。
因此,任何PHP工作(如提取元数据,如果这是在PHP中完成的)都将在文件完成上传后发生。
p。我不认为你可以在客户端使用javascript访问本地文件。
是的,这是一个很常见的请求。通常,有一些HTML/JS客户端用户界面收集适当字段中的所有文件名,无论是固定列表还是一些动态生成的字段。也就是说,浏览器中的文件上传字段可能会被display:none"隐藏",以便有这些必要的字段,但向用户显示更花哨的内容。
如前所述:提交封闭表单后,所有内容都被发送到服务器并存储在临时目录(php.ini设置)中。php脚本将获取表单的post操作然后启动并能够从dir:
中获取文件$inputName = $_GET['userfile'];
$fileName = $_FILES[$inputName]['name'];
$tempLoc = $_FILES[$inputName]['tmp_name'];
- 为什么属性存在于对象实例上,即使其原型发生了更改
- Javascript函数 - 通过引用复制,但这里发生了什么
- 套接字发生了什么's在'断开连接'事件(服务器端)
- 这段代码中发生了什么
- Wamp没有识别出我的代码发生了更改
- 如何检查输入框值在使用淘汰之前是否发生了更改
- 通过它访问HTML元素's id DIRECTLY-这里发生了什么
- window.opener引用在Java 1.7.0_04-b20中从Applet重定向期间发生了更改,但在1.7.0_
- 如何知道JS对象属性的值在哪一行发生了更改
- 查找表单的哪些特定部分在输入时发生了更改
- JavaScript's数组过滤器函数在没有分配函数的情况下使用-这里发生了什么
- 起重行为在铬 48 和 49 之间发生了变化
- 这个JavaScript函数中发生了什么
- 我的输入字段听到除回车之外的每个“键下”事件.我有一个日期选择器,不确定发生了什么
- isPrototypeOf 说不,但实例说是——发生了什么
- 找出 Vue.js 深度自定义指令中哪个属性发生了变化
- 十分钟内的 Javascript:此示例代码中发生了什么说明惰性范围
- 键控后 AJAX 发生了一些奇怪的事情
- 当文件被上传时,它究竟发生了什么
- 当webservice调用解析JSON对象时,在.net中究竟发生了什么?