Web services 尝试使用Coldfusion Web服务上载文件时出现Enctype问题

Web services 尝试使用Coldfusion Web服务上载文件时出现Enctype问题,web-services,file-upload,coldfusion,Web Services,File Upload,Coldfusion,无法启动在外部服务器中上载文件的Coldfusion Web服务 我的应用程序在“服务器A”中运行,文件存储库(外部服务器)在“服务器B”中 模板(inicio.cfm)存储在“服务器A”中,其中包含用于选择要上载的客户端文件的带有的表单。此模板执行的任务不仅仅是显示上载表单。它在表单的代码块之外执行计算、查询等。此外,此表单的操作页面是模板本身(因为我的应用程序需要执行任务) 我的表单定义的第一行代码是(在inicio.cfm中): 怎么了? 缺少有关此功能的文档。Adobe的《用户指南》并未

无法启动在外部服务器中上载文件的Coldfusion Web服务

我的应用程序在“服务器A”中运行,文件存储库(外部服务器)在“服务器B”中

模板(inicio.cfm)存储在“服务器A”中,其中包含用于选择要上载的客户端文件的带有
的表单。此模板执行的任务不仅仅是显示上载表单。它在表单的代码块之外执行计算、查询等。此外,此表单的操作页面是模板本身(因为我的应用程序需要执行任务)

我的表单定义的第一行代码是(在inicio.cfm中):

怎么了? 缺少有关此功能的文档。Adobe的《用户指南》并未在depht中解释此功能。本·福塔的书。。。一样。或者我找不到信息。
提前感谢。

当表单发布到CFML服务器时,在任何代码运行之前,发布的文件都会保存在临时目录中。
所做的只是将文件从临时目录复制到您想要的位置。您的远程服务器
ServerB
不知道
ServerA
上发布的任何文件,因此
对您没有帮助

这种行为具有误导性。它不是上传任何东西。它只是从预定的临时目录复制。在CF服务器参与之前,web服务器处理上传

您可能需要将
服务器a上的
放到特定位置,然后它需要将该文件发布到
服务器B上的web服务上。然后
ServerB
应该能够使用
将其从upload temp目录传输到您需要的任何位置。也就是说,我在发布到web服务时从未尝试过这一点

或者,您可以首先将文件直接发布到
ServerB
,以保存作为中介的
ServerA
。当然,这可能是不可能的

<cfform method="post" name="AltaConvocatoria" enctype="multipart/form-data">
<cfcomponent>

    <cffunction access="remote" returntype="void" name="cargaAnuncio">

        <cfargument name="destinoAnuncio" required="yes" type="string">

        <cfargument name="PrefijoNvoNombre" required="yes" type="string">

        <cffile action="upload"
        fileField="str_ArchivoAnuncio"
        destination="#destinoAnuncio#"
        nameconflict="Overwrite">
        <cfset NvoNomAnuncio = #PrefijoNvoNombre# & #Right(cffile.ClientFile, 5)#>

        <cfset viejoNombre1 = #destinoAnuncio# & #cffile.ClientFile#>

        <cffile
        action = "rename"
        destination = "#NvoNomAnuncio#"
        source = "#viejoNombre1#">

    </cffunction>

</cfcomponent>
<cfinvoke webservice="http://192.168.208.128/podi/mgmt/alta_ga.cfc?wsdl" method="cargaAnuncio" >
    <cfinvokeargument name="destinoAnuncio" value="#form.destinoAnuncio#" />
    <cfinvokeargument name="PrefijoNvoNombre" value="#form.PrefijoNvoNombre#" />
</cfinvoke>
<cfinvoke component="alta_ga" method="cargaAnuncio" destinoAnuncio="#form.destinoAnuncio#" PrefijoNvoNombre="#form.PrefijoNvoNombre#">