java下载上传的代码 java文件上传与下载

java语言使用dwr做文件上传并下载

dwr.xml

公司主营业务:成都网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出鄂托克免费做网站回馈大家。

create javascript="fileUtils" creator="new"  

param name="class" value="cn.xyurp.bggl.common.FileUtils"/param  

/create

业务类

public class FileUtils {

/**

 * 文件上传

 * 

 * @return

 */

public String upload(FileTransfer fileTransfer, String fileName) {

try {

WebContext webContext = WebContextFactory.get();

// String realtivepath = webContext.getServletContext().getContextPath()

// + "/upload/";

String saveurl = webContext.getHttpServletRequest().getSession()

.getServletContext().getRealPath("/upload");

File file = new File(saveurl + "/" + fileName);

if (!file.exists()) {

file.mkdirs();

}

InputStream uploadFile = fileTransfer.getInputStream(); 

int available = uploadFile.available();

byte[] b = new byte[available];

FileOutputStream foutput = new FileOutputStream(file);

uploadFile.read(b);

foutput.write(b);

foutput.flush();

foutput.close();

uploadFile.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch(Exception e){

e.printStackTrace();

}

return "";

}

}

html

// 注意 upload  只能用 dwr.util.getValue() 取值,

//  如果用 jquery $("#id") 等其他方式取的值作为参数, 上传将会上传失败

mce:script type="text/javascript" src="%=path%!--

/dwr/engine.js"

// --/mce:script

mce:script type="text/javascript" src="%=path%!--

/dwr/util.js"

// --/mce:script

mce:script type="text/javascript" src="%=path%!--

/dwr/interface/fileUtils.js"

// --/mce:script

--------------------------------

function addFile(){

// 注意 upload  只能用 dwr.util.getValue() 取值,

//  如果用 jquery $("#id") 等其他方式取的值作为参数, 上传将会上传失败

var uploadFile = dwr.util.getValue("uploadFile");  

fileUtils.upload(uploadFile,'fileName.ext',function(data){

alert(data);

});

}

input type="file" name="uploadFile" id="uploadFile"/

input type="button" class="f_btn01" onclick="addFile()" value="上传"/

java 文件上传的代码,尽量详细一点。。。

// 这是我写的一个方法,里面只需要传两个参数就OK了,在任何地方调用此方法都可以文件上传

/**

* 上传文件

* @param file待上传的文件

* @param storePath待存储的路径(该路径还包括文件名)

*/

public void uploadFormFile(FormFile file,String storePath)throws Exception{

// 开始上传

InputStream is =null;

OutputStream os =null;

try {

is = file.getInputStream();

os = new FileOutputStream(storePath);

int bytes = 0;

byte[] buffer = new byte[8192];

while ((bytes = is.read(buffer, 0, 8192)) != -1) {

os.write(buffer, 0, bytes);

}

os.close();

is.close();

} catch (Exception e) {

throw e;

}

finally{

if(os!=null){

try{

os.close();

os=null;

}catch(Exception e1){

;

}

}

if(is!=null){

try{

is.close();

is=null;

}catch(Exception e1){

;

}

}

}

}

求一java文件上传下载的主要代码,非网页的,最好关键地方能有说明

利用struts2的上传下载

package com.java.action;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.IOException;

import java.io.InputStream;

import java.io.UnsupportedEncodingException;

import java.net.URLEncoder;

import org.apache.commons.io.FileUtils;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FileAction extends ActionSupport {

/**

* 用于上传的变量

*/

//封装该文件域对应的文件内容

private File[] upload;

//封装该文件域对应的文件的文件名

private String[] uploadFileName;

//封装该文件域对应的文件的文件类型

private String[] uploadContentType;

/**

* 用于下载的变量

*/

private String[] fileNames;

private String fileName;

/**

* 设置getter和setter

* @return

*/

public String[] getFileNames() {

return fileNames;

}

public File[] getUpload() {

return upload;

}

public void setUpload(File[] upload) {

this.upload = upload;

}

public String[] getUploadFileName() {

return uploadFileName;

}

public void setUploadFileName(String[] uploadFileName) {

this.uploadFileName = uploadFileName;

}

public String[] getUploadContentType() {

return uploadContentType;

}

public void setUploadContentType(String[] uploadContentType) {

this.uploadContentType = uploadContentType;

}

public void setFileNames(String[] fileNames) {

this.fileNames = fileNames;

}

public String getFileName() {

return fileName;

}

public void setFileName(String fileName) {

this.fileName = fileName;

}

/**

* 用于上传文件的方法

* @return

*/

public String upload(){

//设置文件上传到的位置

String path = ServletActionContext.getServletContext().getRealPath("/file");

//设置文件目标

try {

for (int i = 0; i  upload.length; i++) {

File target = new File(path, uploadFileName[i]);

FileUtils.copyFile(upload[i], target);

}

return SUCCESS;

} catch (IOException e) {

e.printStackTrace();

}

return INPUT;

}

/**

* 得到所有上传的文件的名称

* @return

*/

public String fileList(){

String path = ServletActionContext.getServletContext().getRealPath("/file");

fileNames = new File(path).list();

return SUCCESS;

}

/**

* 用于下载文件的方法

* @return

*/

public InputStream getInputStream(){

if(fileName==null || fileName.isEmpty()) return null;

String path = ServletActionContext.getServletContext().getRealPath("/file");

try {

return new FileInputStream(new File(path,fileName));

} catch (FileNotFoundException e) {

e.printStackTrace();

}

return null;

}

public String getContentDisposition(){

try {

if(fileName==null||fileName.isEmpty()){

return "inline";

}

return "attachment;filename="+URLEncoder.encode(fileName, "UTF-8");

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

return "inline";

}

}

比java的io方便多了

用java实现音频文件的上传和下载代码(希望有注释)

上传就和普通的文件上传一样,不过需要表明文件格式,可以在request header里面标注,便于服务器将文件保存下来。

下载的时候可以直接将文件流写入到response里面,不过要设置一下response的content type,便于客户端分辨用什么程序打开文件。

总之都是流的操作,和普通文件的上传下载没什么太大区别。

用Java的三大框架实现文件的上传下载,求代码啊,最好是分为action,service,serv

package cn.itcast.struts2.demo1;

import java.io.File;

import org.apache.commons.io.FileUtils;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

/**

* 完成文件上传 (不是解析上传内容,因为上传内容 由fileUpload拦截器负责解析)

*

* @author seawind

*

*/

public class UploadAction extends ActionSupport {

// 接收上传内容

// input type="file" name="upload" /

private File upload; // 这里变量名 和 页面表单元素 name 属性一致

private String uploadContentType;

private String uploadFileName;

public void setUpload(File upload) {

this.upload = upload;

}

public void setUploadContentType(String uploadContentType) {

this.uploadContentType = uploadContentType;

}

public void setUploadFileName(String uploadFileName) {

this.uploadFileName = uploadFileName;

}

@Override

public String execute() throws Exception {

if (upload == null) { // 通过xml配置 required校验器 完成校验

// 没有上传文件

return NONE;

}

// 将上传文件 保存到服务器端

// 源文件 upload

// 目标文件

File destFile = new File(ServletActionContext.getServletContext()

.getRealPath("/upload") + "/" + uploadFileName);

// 文件复制 使用commons-io包 提供 工具类

FileUtils.copyFile(upload, destFile);

return NONE;

}

}

多文件上传

package cn.itcast.struts2.demo1;

import java.io.File;

import org.apache.commons.io.FileUtils;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

/**

* 支持多文件上传

*

* @author seawind

*

*/

public class MultiUploadAction extends ActionSupport {

// 接收多文件上传参数,提供数组接收就可以了

private File[] upload;

private String[] uploadContentType;

private String[] uploadFileName;

public void setUpload(File[] upload) {

this.upload = upload;

}

public void setUploadContentType(String[] uploadContentType) {

this.uploadContentType = uploadContentType;

}

public void setUploadFileName(String[] uploadFileName) {

this.uploadFileName = uploadFileName;

}

@Override

public String execute() throws Exception {

for (int i = 0; i upload.length; i++) {

// 循环完成上传

File srcFile = upload[i];

String filename = uploadFileName[i];

// 定义目标文件

File destFile = new File(ServletActionContext.getServletContext()

.getRealPath("/upload" + "/" + filename));

FileUtils.copyFile(srcFile, destFile);

}

return NONE;

}

}

java 文件上传下载的代码

FileInputStream fin = new FileInputStream(new File("你的文件地址"));

OutputStream out = 你的目标流地址,可以是Socket的Output流,也可以是http的Output流,等等

byte[] b = new byte[65535]; // 一次读取多少字节

int read = -1;

while(-1 != (read = fin.read(b))){

out.write(b,0,read);

}


本文标题:java下载上传的代码 java文件上传与下载
文章分享:http://azwzsj.com/article/doosocd.html