【问题标题】:Coldfusion cffile parameter breaks pageColdfusion cffile 参数中断页面
【发布时间】:2017-09-21 23:13:35
【问题描述】:

我正在尝试将一个简单的相机文件上传应用程序上传到我拍照的位置并将其上传到我的网络服务器;以及在此过程中重命名文件。我已经设法弄清楚如何使用action="upload" 上传文件。但是,当我创建另一个 cffile action="rename" 并开始添加 cffile 参数时,它会破坏我的页面。

我知道上传工作正常,因为当我检查我的服务器时,文件正在上传,即使我的页面已损坏。另外我知道我没有对此进行验证,因为我只是想让功能正常工作,然后我将执行验证。

这是我尝试过的:

HTML

<form method="POST" enctype="multipart/form-data" action="testupload.cfm">
  <input type="file" name="fileUpload" accept="image/*" capture="camera">
  <input type="submit" value="Upload">
</form>

ColdFusion:

<cfset newfileName = "test">
<cffile 
  action="upload" 
  accept="image/jpg, image/jpeg, image/png" 
  destination="C:\uploads\" 
  nameconflict="makeunique" 
  filefield="form.fileUpload"
/>
<cffile 
  action="rename" 
  source="C:\uploads\#cffile.serverFileName#" 
  destination="C:\uploads\#newfileName#.#cffile.serverFileExt#"
/>

【问题讨论】:

    标签: coldfusion


    【解决方案1】:

    试试这个(连接字符串):

    <cfset newfileName = "test">
    <cffile 
      action="upload" 
      accept="image/jpg, image/jpeg, image/png" 
      destination="C:\uploads\" 
      nameconflict="makeunique" 
      filefield="form.fileUpload"
    />
    
    <cfset sourcePath = "C:\uploads\" & #cffile.serverFileName# & "." & #cffile.serverFileExt# />
    <cfset destinationPath = "C:\uploads\" & #newFileName# & "." & #cffile.serverFileExt# />
    
    <cffile 
      action="rename" 
      source="#sourcePath#" 
      destination="#destinationPath#"
    />
    

    【讨论】:

    • 感谢您的快速回复。但是,当我尝试重新上传图像时,它只是将图像上传到网络服务器并破坏我的页面而不将其重命名为“test.jpg”
    • 一秒钟我启用了调试,但是当我被抛出错误时,页面上什么也没有显示它只是将我重定向到另一个页面
    • source="C:\uploads\#cffile.serverFileName#" 缺少点和扩展名
    • 好的,感谢您的澄清,我花了大约 2 个小时试图找出我做错了什么。我还是个初学者!我将尝试重现相同的问题,以便我更清楚地理解它。
    • 当您不确定时,使用cfdump 查看变量,例如&lt;cfdump var="#cffile.serverFileName#" /&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2014-04-18
    • 1970-01-01
    • 2011-03-28
    相关资源
    最近更新 更多