首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ColdFusion 10的REST框架中上传文件

在ColdFusion 10的REST框架中上传文件
EN

Stack Overflow用户
提问于 2014-06-06 01:16:23
回答 2查看 1.1K关注 0票数 0

我正在尝试将文件上传到ColdFusion 10中的REST端点。

  • 将一个CFARGUMENT type=“二进制”指定到CFFUNCTION,即REST端点定义。这将导致编译错误。
  • 提交一个多部分/表单-数据发布/放置请求,并使用CFFILE处理文件上传在CFFUNCTION的正文。这导致CF框架看不到CFARGUMENT标记所需的任何表单字段参数。
  • 将文件上载到仅期望文件的独立端点,并将HTTP内容类型标头设置为文件的MIME类型。CF REST框架拒绝这一点,因为它需要特定的内容类型(可能是多部分/表单-数据或应用程序/x表单-urlencoded)。

其他端点定义如下所示..。

代码语言:javascript
复制
    <cffunction name="createDocument" access="remote" returnType="String" returnformat="JSON" httpMethod="POST" restPath="/document/">
      <cfargument name="Authorization" type="string" required="true" restargsource="Header">
      <cfargument name="folder" type="any" required="true" restargsource="Form">
      <cfargument name="cabinet" type="any" required="true" restargsource="Form">
      <cfargument name="filedata" type="bindary" required="true" restargsource="Form">
     [...]
     </cffunction>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-21 14:45:48

@siromega我不确定你是否找到了解决这个问题的方法,但是我偶然发现了支持文件上传的taffy.io。如果是的话,你能给我发个最新消息吗?

图像字段的标题是不同的,图像字段的内容是二进制编码。

https://github.com/atuttle/Taffy/wiki/So-you-want-to:-Upload-a-file-via-your-API

希望能帮上忙。

票数 1
EN

Stack Overflow用户

发布于 2017-01-30 05:41:51

最近,我使用ColdFusion REST创建了一个文件上传API。下面是一个示例,其中我们接受一个文件(csv或excel)并将其转换为json。我们已经在ColdFusion管理员中注册了此REST服务。上传文件的参数名是fileParam。

代码语言:javascript
复制
component  output="false" restpath="/upload"
{

remote any function uploadFile() httpmethod="POST" consumes="multipart/form-data" produces="application/json" {
    destination = getTempDirectory();       
    uploadDetails = FileUpload(destination, "fileparam", "text/csv,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "overwrite");
    fileSeparator = "\";//make platform independent     
    filePath = uploadDetails.SERVERDIRECTORY & fileSeparator & uploadDetails.ATTEMPTEDSERVERFILE;
    cfspreadsheet(action = "read", src = filePath, excludeHeaderRow = false, query = "data");
    return serializejson(data);

}
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24072705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档