首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >coldfusion核心java而不是cffile

coldfusion核心java而不是cffile
EN

Stack Overflow用户
提问于 2017-09-11 21:17:51
回答 1查看 516关注 0票数 0

我正在使用ColdFusion2016应用程序(网站)中的cffile标签将用户的图像上传到服务器。

我被命令停止使用cffile,开始使用底层java,因为它更高效。

我得到了这个代码,它展示了如何获取一个dir文件并使用核心java压缩它们。。但不够聪明,不能满足我的需要。

我需要一个页面来接收一个简单的帖子,并将提交的文件移动到服务器上的特定目录。通常在我会使用的网站的“动作”页面上:

代码语言:javascript
复制
cffile action="upload" filefield="FieldNameFromPostedForm" destination="MyDirectoryOnServer"  

有人能指点我在coldfusion引擎盖下面看到的方向吗?这样我就能得到一些魔法,比如:

代码语言:javascript
复制
FileOutputStream = createobject("java", "java.io.FileOutputStream"); 

在一个函数中。

谢谢!

进度报告:

我更接近别人让我做的事了。这个文件是写到服务器上的,但是后来我收到了一个错误,所以我遗漏了一块拼图。

代码语言:javascript
复制
<cfscript>
function bj_script(source, server_dest_Path) {
try { 
    FileOutputStream = createobject("java", "java.io.FileOutputStream"); 
    BufferedOutputStream = createobject("java", "java.io.BufferedOutputStream"); 
    FileInputStream = createobject("java", "java.io.FileInputStream"); 
    BufferedInputStream = createobject("java","java.io.BufferedInputStream");

    the_file = createobject("java","java.io.File"); 
    the_file.init(source);

    FileInputStream.init(the_file);
    BufferedInputStream.init(FileInputStream); 
    FileOutputStream.init(server_dest_Path); 
    BufferedOutputStream.init(FileOutputStream); 

    thisbyte = 0; 
    while (thisbyte neq -1){ 
        thisbyte = BufferedInputStream.read(); 
        if (thisbyte neq -1){ 
            BufferedOutputStream.write(thisbyte); 
        } 
    } 

    FileOutputStream.close(); 
    BufferedOutputStream.close(); 
    return true; 
} 
catch(Any exception) { 
    return exception; 
} 
}
</cfscript>

<form method="post" enctype="multipart/form-data">
<input type="File" name="test"><br>
<input type="Submit"><br>
</form>

<cfif request_method is "post">
<cfset ccc = bj_script(form.test, "C:\inetpub\wwwroot\mywebsite\temp_img\blah.jpg") />
</cfif>

在我的测试上传图像后,我得到一个“java.io.IOException”类型的错误,其中的消息是“流关闭”。

我一定是做错了while循环。有哪个java书呆子能告诉我该改什么吗?

EN

回答 1

Stack Overflow用户

发布于 2017-09-11 21:40:11

这是我几年前写的,用ColdFusion ResultSet做的几乎完全正确的事情。应该作为一个很好的入门,介绍如何从CF连接到Java类并编写文件。

https://cfprimer.blogspot.com/2009/01/coldfusion-fast-query-to-file-export.html

我被命令停止使用cffile,开始使用底层java,因为它更高效。

值得指出的是,CFFile也使用底层的Java编写文件?

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

https://stackoverflow.com/questions/46164499

复制
相关文章

相似问题

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