swing写了个界面,选取几个文件批量上传到服务器上,我想是把这几个文件先打包成一个上传到服务器,然后服务器再解包,但是具体的还没想清楚,有兄弟有相关的例子提供下么,或者提供点别的思路也可以,先谢谢各位了
解决方案 »
- 新人求助关于JPanel setSize无效问题。。
- 想问下怎样使暂时不用的按钮变成不可用!
- windows造字程序造的字,程序是否可以让其显示?
- JAVAC 相同的命令在不同的路径下运行出现的情况不一样?
- 数据库提取数据的问题
- 我想输出一个长整形数的位数,可为什么不行呢?
- Java 中如何控制弹出窗口的关闭,类似于QQ的天气的弹窗
- 在 JBuilder中编译一个编写好的程序时,抱错Error#:914:unable to write to output directory?
- java的问题(应用领域的问题)
- java中匿名内部类可以有构造方法吗,若可以如何编写???
- 关于显示提示信息对话框
- 有没有简单的数据列表DB包
Swing,大体的思路是选中的文件,用一个set记录它们的full name。
然后利用zip classes完成压缩(你需要创建临时文件...)
参考这个文章:
http://blog.csdn.net/OnlyOfMe/archive/2008/10/07/3027827.aspx然后就可以上传了,上传要看你是什么协议了,HTTP POST还是FTP。
到时候再选择库呗,Java总是比较容易的。
zip 打包也要时间啊,客户都等的不耐烦了
http://www.gisbox.cn/thread-602-1-1.html
try
{
FileInputStream fileInputStream = new FileInputStream(new File(exsistingFileName));//exsistingFileName打包后的文件名
URL url = new URL(urlString); //urlString是网页路径,这个路径负责解压后的文件处理。
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(false);
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Content-Type","multipart/form-data;boundary=" + boundary);
dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\"upload\";" + " filename=\"" + exsistingFileName + "\"" + lineEnd);
dos.writeBytes(lineEnd); // create a buffer of maximum size
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize]; bytesRead = fileInputStream.read(buffer, 0, bufferSize); while (bytesRead > 0)
{
dos.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
} dos.writeBytes(lineEnd);
dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd); fileInputStream.close();
dos.flush();
dos.close(); }
catch (MalformedURLException ex)
{
}
catch (IOException ioe)
{
}