上传文件

原创 2017年01月03日 16:34:44

/**
* 上传文件
*
* @param tempfile文件对象
* @param srcurl原始存放地址
* @param uploadFileFileName文件名称
* @param uploadFileContentType文件类型
* @param dir指定文件夹 例如 upload
*
* @return
*/
public String fileupload(File tempfile, String srcurl,
String uploadFileFileName, String uploadFileContentType, String dir) throws IOException
{
if (tempfile == null)
return null;
if (uploadFileFileName == null)
return null;
if (null == dir || dir.length() == 0)
dir = “upload”;
// 基于myFile创建一个文件输入流
InputStream is = new FileInputStream(tempfile);
// 设置上传文件目录
String datetime = System.currentTimeMillis() + “”;
String uploadPath = “”;
if (StringUtils.isNotBlank(srcurl))
{
try
{
//uploadPath = ServletActionContext.getServletContext().getRealPath(“/” + dir + “/”) + “/” + srcurl.substring(0, srcurl.lastIndexOf(“/”));
//原文件路径
uploadPath = ServletActionContext.getServletContext().getRealPath(“/” + srcurl.substring(0, srcurl.lastIndexOf(“/”)));
} catch (Exception e)
{
uploadPath = ServletActionContext.getServletContext().getRealPath(“/” + dir + “/” + datetime + “/”);
}
System.out.println(uploadPath);
} else
{
//如果原文件路径不存在,则重新生成新路径
uploadPath = ServletActionContext.getServletContext().getRealPath(“/” + dir + “/” + datetime + “/”);
}
uploadFileFileName = getFileName(uploadFileFileName, uploadPath);

    File file = new File(uploadPath);
    if (!file.exists())
        file.mkdirs();
    // 设置目标文件
    File toFile = new File(uploadPath, uploadFileFileName);
    // 创建一个输出流
    OutputStream os = new FileOutputStream(toFile);
    // 设置缓存
    byte[] buffer = new byte[1024];
    int length = 0;
    // 读取myFile文件输出到toFile文件中
    while ((length = is.read(buffer)) > 0)
    {
        os.write(buffer, 0, length);
    }
    // 关闭输入流
    is.close();
    // 关闭输出流
    os.close();
    uploadPath = uploadPath.replaceAll("\\\\", "/");
    String filepath = (uploadPath + "/" + uploadFileFileName).substring((uploadPath + "/" + uploadFileFileName).indexOf(dir));
    return (filepath.replaceAll("\\\\", "/"));
}

public String getFileName(String uploadFileFileName, String uploadPath)
{
    try
    {
        if (null != uploadFileFileName)
        {
            uploadFileFileName = UUID.randomUUID().toString() + uploadFileFileName.substring(uploadFileFileName.lastIndexOf("."));
        }
        File file = new File(uploadPath + uploadFileFileName);
        if (file.exists())
        {
            uploadFileFileName = getFileName(uploadFileFileName, uploadPath);
        }
        return uploadFileFileName;
    } catch (Exception e)
    {
        e.printStackTrace();
    }
    return uploadFileFileName;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

怎么在csdn 的blog中添加附件文件??

突然发现这个问题???不知如何解决??? 
  • gdutcc
  • gdutcc
  • 2008年04月07日 15:12
  • 2090

CSDN博客不能上传附件: 有效地促进了信息共享

CSDN博客不能上传附件,很不方便。 博主们普遍采用的方法是: 把附件作为资源上传到CSDN的“资源”频道,然后把URL地址贴到博客中。   CSDN博客中不乏活跃的、积极贡献有价值的技术文章的...
  • tiangej
  • tiangej
  • 2012年03月30日 18:00
  • 4816

文件上传

My JSP 'uploat.jsp' starting page 上传用户: 上传文件: 上传文件:...
  • nevergiveup12345
  • nevergiveup12345
  • 2014年05月08日 17:23
  • 203

原生方式上传文件

1.前端处理 /DemoServlet" method="post" enctype="multipart/form-data" name="fileForm"> 浏览文件: /**...
  • zjsdrs
  • zjsdrs
  • 2017年09月20日 08:55
  • 344

文件上传

一、文件上传原理: 1、文件上传的前提:         a、form表单的method必须是post         b、form表单的enctype必须是multipart/...
  • qq_34471305
  • qq_34471305
  • 2017年05月16日 14:50
  • 56

Mac终端中上传文件到Linux服务器

Mac将本地文件上传到服务器上scp -P 22 /Java/program.war root@123.456.789.987:/usr/server/tomcat7/webapps/上端口大写P 为...
  • u010988549
  • u010988549
  • 2015年07月15日 22:15
  • 24635

jquery ajax 无刷新上传文件到servlet

删除文件的表单要加入如下enctype属性: enctype="multipart/form-data"> 要实现无刷新上传文件首先要阻止submit按钮提交表单,在submit按钮添加oncli...
  • Japhics
  • Japhics
  • 2017年03月26日 20:53
  • 312

无限制的文件上传

描述 上传的文件代表了显著风险的应用程序。在许多攻击的第一步骤是获得一些代码来对系统进行攻击。那么攻击只需要找到一种方式来获得执行的代码。使用文件上载帮助攻击者完成第一步。 不受限制的文件上传...
  • j1193848932
  • j1193848932
  • 2016年10月18日 23:15
  • 380

文件上传与下载

文件上传下载概述 1、什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端,从服务器端下载文件到本地的过程。 例如目前网站需要上传头像、上传下载图片或网盘等功能都是利用文件上传下载功能实...
  • CSDN_GIA
  • CSDN_GIA
  • 2017年01月07日 17:07
  • 261

Java使用HttpURLConnection上传文件

从普通Web页面上传文件很简单,只需要在form标签叫上enctype="multipart/form-data"即可,剩余工作便都交给浏览器去完成数据收集并发送Http请求。但是如果没有页面的话要怎...
  • wangpeng047
  • wangpeng047
  • 2014年07月31日 12:51
  • 50063
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:上传文件
举报原因:
原因补充:

(最多只允许输入30个字)