芒果小站

  1. 全球最具业界良心的主机 - Linode

    毫无疑问,目前做得最好的主机供应商

    猛击这里查看

  2. 芒果小站目前使用的主机 - Linode

    客服响应快,随时退款,XEN 架构稳定

    猛击这里查看

  3. 最好的日本东京线路主机 - Linode

    可选弗里蒙特、达拉斯、亚特兰大、纽瓦克、伦敦、东京机房

    猛击这里查看

  • 1
  • 2
  • 3
切换到精简模式
4

使用 Snoopy 代理异步文件上传

作者 芒果/分类 未分类/发布于 2012-11-16 13:09

使用 formdata 结合 snoopy 做请求转发,实现非 form 形式,非 iframe 形式的异步文件上传功能。

JS 代码:

document.getElementById('#file').change = function (e) {

	var data = new FormData();

	//设置参数
	data.append('nick', '邦彦');
	data.append('session_id', '6fc373162b5e8a78a255777e0108a0b3');
	data.append('file', e.currentTarget.files[0]);

}

PHP 代码:

<?php
require('Snoopy.class.php');
$action = 'http://localhost/upload.php';
$snoopy = new Snoopy();
$snoopy->_submit_type = 'multipart/form-data';
$snoopy->submit($action, $_REQUEST, $_FILES);
echo $snoopy->results;

考虑到临时的 PHP 文件存储会丢失文件命名,需要在提交之前重命名下临时图片:

$dirname = dirname($_FILES['photo']['tmp_name']);
rename($_FILES['photo']['tmp_name'], $_FILES['photo']['tmp_name'] = $dirname . '\\' . $_FILES['photo']['name']);
版权所有,转载请注明出处。
转载自 <a href="http://mangguo.org/snoopy-agent-asynchronous-file-upload/" title="使用 Snoopy 代理异步文件上传" rel="bookmark">使用 Snoopy 代理异步文件上传 | 芒果小站</a>
如果喜欢这篇文章,欢迎订阅芒果小站以获得最新内容。

已经有 4 条群众意见

  1. 你好 /2012-11-16 20:13

    已发电子邮件给你,请求链接。请查收邮件 回应

    #1
  2. 邪恶漫画 /2012-11-19 17:12

    异步 很好很强大 回应

    #2
  3. CRUSHERS /2012-11-20 15:21

    正研究这个,感觉异步还真不好弄啊 回应

    #3
  4. godaddy优惠码 /2012-12-13 15:12

    这个有点高深,还没到这一步。 回应

    #4

下面我简单说几句