我正在使用ColdFusion2016应用程序(网站)中的cffile标签将用户的图像上传到服务器。
我被命令停止使用cffile,开始使用底层java,因为它更高效。
我得到了这个代码,它展示了如何获取一个dir文件并使用核心java压缩它们。。但不够聪明,不能满足我的需要。
我需要一个页面来接收一个简单的帖子,并将提交的文件移动到服务器上的特定目录。通常在我会使用的网站的“动作”页面上:
cffile action="upload" filefield="FieldNameFromPostedForm" destination="MyDirectoryOnServer" 有人能指点我在coldfusion引擎盖下面看到的方向吗?这样我就能得到一些魔法,比如:
FileOutputStream = createobject("java", "java.io.FileOutputStream"); 在一个函数中。
谢谢!
进度报告:
我更接近别人让我做的事了。这个文件是写到服务器上的,但是后来我收到了一个错误,所以我遗漏了一块拼图。
<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书呆子能告诉我该改什么吗?
发布于 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编写文件?
https://stackoverflow.com/questions/46164499
复制相似问题