我是R和OpenCpu的新手。 我已经能够使用函数创建和部署一个简单的R包,并使用curl对该函数进行REST调用以获得json响应。
我在Windows 7上使用R 3.1.2 64位。
我现在想要将图像文件(比如jpg或png)发送到R函数,处理它并以text / json的形式发回响应。
这可以用opencpu吗? 我应该使用什么格式和内容类型?
我想做类似的事情:
curl -v http://server:port/ocpu/library/mylibrary/R/myimagefunc/<format?> -H "Content-Type: <content-type?>" <some_file.png>
此REST URL将嵌入到为用户提供文件上载功能的Web应用程序中。
------编辑------
aboutimage <- function(imageobj) {
require(RProtoBuf)
require(EBImage)
img <- readImage(imageobj)
nf <- numberOfFrames(img)
print(nf)
return(nf)
}
感谢。
答案 0 :(得分:3)
您可以使用常规的多部分帖子上传文件。试试这个:
curl -v http://server:port/ocpu/library/mylibrary/R/myimagefunc -F "imageobj=@yourfile.png"
在POST文件上传时,opencpu服务器会将文件复制到工作目录,并将文件名作为参数传递给函数调用。所以在这种情况下它执行:
myimagefunc(imageobj = "yourfile.png")