0

在将图像上传到 Amazon s3 之前,我需要获取图像的直方图。直方图工作正常 升级工作正常,但我无法在上传之前处理图像文件。

我不想将图像保存到本地硬盘并处理它并删除本地文件上传到 s3。

你知道除此之外的任何解决方案吗?我的直方图制作器功能正在处理本地文件。

谢谢

4

2 回答 2

0

1.您可以使用 PUT 方法发送文件对象或类似的东西。在服务器端,您需要处理“php:/input”来读取和写入文件。示例代码:

<?php 
 $handle= fopen("php://input", "r");
 $fileToWrite = fopen('test.txt','w');
  while ($data = fread($handle, 1024))
        fwrite($fileToWrite ,$data);
 fclose($handle);
 fclose($fileToWrite);
?>

此代码适用于 apache-windows(我认为与 linux 的结果相同),但不适用于其他网络服务器,因为服务器总是在发送到 PHP 后端之前缓冲客户端请求(我已经用 nginx 测试过, lighttpd)以获得更好的性能


2、使用websocket和FileReader!

我觉得这是个不错的选择,有了websocket问题就解决了。但是如果你想开发一个 PHP-websocket-server,就会出现新的问题。您应该将 node.js 用于 websocket。祝你好运 :)

于 2013-12-03T17:57:57.560 回答
0

将文件上传到 PHP 时,它总是会在 PHP 脚本开始执行之前保存到磁盘(参见upload_tmp_dirphp.ini 。最接近内存上传的方法是使用 ramdisk 作为临时上传位置。

您可以从客户端的浏览器直接将文件上传到 S3,而不是通过 PHP 上传文件,但我真的不知道这对您有什么好处,因为您需要在某个时候将它下载到您的服务器以进行直方图处理.

于 2013-09-12T06:57:28.673 回答