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

我试图将文件上传到ColdFusion 10中的REST端点。我尝试了各种方法,但都没有工作......

  • 将CFARGUMENT type =“binary”指定为作为REST端点定义的CFFUNCTION。 这会导致CF REST API编译错误。
  • 提交multipart / form-data POST / PUT请求并使用CFFILE处理CFFUNCTION主体中的文件上载。 这会导致CF REST框架看不到CFARGUMENT标记所需的任何表单字段参数。
  • 将文件上传到仅需要文件的单独端点,并将HTTP内容类型标头设置为文件的MIME类型。 CF REST框架拒绝这个,因为它需要特定的内容类型(可能是multipart / form-data或application / x-www-form-urlencoded)。
  • REST端点定义看起来像这样...

        <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>
    

    @siromega我不知道你是否曾经为此找到过解决方案,但我碰到过支持文件上传的taffy.io。 如果你这样做,你能否发布更新?

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

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

    希望能帮助到你。


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

    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);
    
    }
    }
    
    链接地址: http://www.djcxy.com/p/31251.html

    上一篇: File uploads in ColdFusion 10's REST API framework

    下一篇: Struts2 file upload errors