我可以使用PHP读取本地图像,然后将图像数据作为多部分表单请求发布

时间:2012-01-05 10:32:20

标签: php multipartform-data

如标题所示: 我正在使用picnik API并想知道是否有一种方法以编程方式发送picnik图像数据,就像用户自己上传图像一样。

我正在考虑这样做,因为该网站是一个CMS,我不能通过picnik一个URL来获取图像,因为该网站是登录后面的。

基本上是这样的:

PHP从磁盘加载图像,然后生成一个页面,其中包含已将此图像数据加载到其中的表单。单击提交按钮将请求发送到picnik,然后他们就会获得图像。

这可能,还是有更好的方法?

参考:http://www.picnik.com/info/api/tutorials/sending-images-in

2 个答案:

答案 0 :(得分:1)

如果图像未存储在服务器上,则无法执行此操作。由于沙箱安全模型。您无法通过javascript或php从客户端读取数据。

答案 1 :(得分:1)

如果我理解问题是正确的,换句话说就是如下:登录后面的CMS用户无法直接将图像发送到picnik,因为如果将图像存储在服务器上,picnik无法读取它由于访问限制。

如果这是正确的,你可以伪造图像发送表格,在picnik的手册中描述为Case #3: Sending image data with HTTP POST。您需要做的就是创建一个带有文件输入字段的表单。然后用户将图像提交到CMS,而不是将其存储在服务器上并将链接发送到picnik,您可以使用curl post请求立即将数据发送到picnik。

对于您的用户,看起来他将图片发布到您的CMS。对于picnik,它看起来像用户将图像提交给他们。