2

我是 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)
}

谢谢。

4

1 回答 1

3

您可以使用常规的多部分帖子上传文件。试试这个:

curl -v http://server:port/ocpu/library/mylibrary/R/myimagefunc -F "imageobj=@yourfile.png"

当 POST 上传文件时,opencpu 服务器会将文件复制到工作目录,并将文件名作为参数传递给您的函数调用。所以在这种情况下它执行:

myimagefunc(imageobj = "yourfile.png")
于 2015-03-23T19:42:08.847 回答