JFinal - 图片(文件)上传

/**
*   后端代码
*
/


public void upload() {
    UploadFile uploadFile = this.getFile();
    if (uploadFile == null) {
        renderJson("message", "请选择一个要导入的图片!");
        return;
    }
    String fileName = uploadFile.getFileName();//原文件名 1

    // 后缀名  2 .jpg
    String extension = fileName.substring(fileName.lastIndexOf("."));
    if (!(".jpg".equals(extension) || ".png".equals(extension) || ".bmp".equals(extension))) {
        renderJson("message", "请选择格式正确的图片!");
        return;
    }

    //上传文件的长度
    Long size = uploadFile.getFile().length();
    if (size > 1024 * 1024 * 5) {
        renderJson("message", "请选择小于5M的图片!");
        return;
    }

    String path = uploadFile.getUploadPath();   //jfinal默认文件路径 3

    String newName = System.currentTimeMillis() + extension;// 新名(当前系统时间+后缀)   4

    Calendar date = Calendar.getInstance();
    SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
    String name = format.format(date.getTime());

    String newMkName = path + "/" + name;  //日期文件夹 (路径+当天时间文件夹名)

    File newFile = new File(newMkName);
    //生成日期文件夹    5
    if (!newFile.exists()) {
        newFile.mkdir();
    }

    String filePath = newMkName + "/" + newName;// 文件完整路径   6

    File m = new File(uploadFile.getUploadPath() + "/" + uploadFile.getFileName());//之前的文件路径
    File file = new File(filePath);

    boolean flag;
    flag = m.renameTo(file); // 重命名并上传文件    7
    Map<String, String> map = new HashMap<>();
    if (flag) {
        map.put("fileName", newName);
        map.put("fileUrl", "/upload/" + name + "/" + newName);
        setAttr("map",map);
        render("template/index.html");
    } else {
        return;
    }
}

   

/**
*    前台回显图片
*
/

<span>#(map.fileName)</span>
<img src="#(map.fileUrl)" alt="">

转载于:https://my.oschina.net/u/4057956/blog/3037442

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
package com.loopj.android.image; import android.content.Context; import android.graphics.Bitmap; import android.util.AttributeSet; import android.widget.ImageView; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class SmartImageView extends ImageView { private static final int LOADING_THREADS = 4; private static ExecutorService threadPool = Executors.newFixedThreadPool(LOADING_THREADS); private SmartImageTask currentTask; public SmartImageView(Context context) { super(context); } public SmartImageView(Context context, AttributeSet attrs) { super(context, attrs); } public SmartImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } // Helpers to set image by URL public void setImageUrl(String url) { setImage(new WebImage(url)); } public void setImageUrl(String url, SmartImageTask.OnCompleteListener completeListener) { setImage(new WebImage(url), completeListener); } public void setImageUrl(String url, final Integer fallbackResource) { setImage(new WebImage(url), fallbackResource); } public void setImageUrl(String url, final Integer fallbackResource, SmartImageTask.OnCompleteListener completeListener) { setImage(new WebImage(url), fallbackResource, completeListener); } public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource) { setImage(new WebImage(url), fallbackResource, loadingResource); } public void setImageUrl(String url, final Integer fallbackResource, final Integer loadingResource, SmartImageTask.OnCompleteListener completeListener) { setImage(new WebImage(url), fallbackResource, loadingResource, completeListener); } // Helpers to set image by contact address book id public void setImageContact(long contactId) { setImage(new ContactImage(contactId)
package com.ylw.p2p.common.utils; import java.awt.image.BufferedImage; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import javax.imageio.ImageIO; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class FileUtils { public final static Map IMG_FILE_TYPE_MAP = new HashMap(); /** * @Description: 图片文件上传 * @author Xiao.Sky * @creaetime 2015年4月17日下午5:20:27 * @param request * @param response * @param photo * @param strtmp * 文件名称 xxx.jpg * @param path * 文件路径 * @param num * @return */ public static boolean updatePhoto(HttpServletRequest request,HttpServletResponse response, File photo, String strtmp,String path, long num) { File dir = new File(path); // 如果不存在就创建次文件夹 if (!dir.exists()) { dir.mkdirs(); } File newFile = new File(dir, strtmp); // 如果存在此文件就删除此文件 if (newFile.exists()) newFile.delete(); BufferedInputStream bis = null; FileInputStream fis = null; try { fis = new FileInputStream(photo); FileOutputStream fos = new FileOutputStream(newFile); BufferedImage src = ImageIO.read(fis); ImageIO.write(src, "png", fos); } catch (Exception e) { e.printStackTrace(); } finally { try { if (null != bis) { bis.close(); } if (null != fis) { fis.close(); } } catch (IOException e) { e.printStackTrace(); } } return true; } /** * * @Description: 普通文件上传 * @author Xiao.Sky * @creaetime 2015年4月23
JSP(Java Server Pages)是一种基于Java语言开发的Web应用程序开发技术。要上传图片文件到数据库,您可以按照以下步骤操作: 1. 创建一个JSP页面,包含一个HTML表单,该表单允许用户选择要上传的图像文件。 2. 在JSP页面上使用Java Servlet API提供的multipart/form-data编码来处理文件上传。 3. 在Servlet中,获取上传文件的输入流并将其转换为字节数组。 4. 将字节数组插入到数据库中作为二进制数据。 以下是一个简单的示例代码,演示如何将图像文件上传到MySQL数据库中: index.jsp: ```html <form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="image" /><br/><br/> <input type="submit" value="Upload" /> </form> ``` upload.java: ```java import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.Part; public class upload extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String connectionURL = "jdbc:mysql://localhost:3306/mydatabase"; String user = "root"; String pass = ""; InputStream inputStream = null; try { Part filePart = request.getPart("image"); inputStream = filePart.getInputStream(); Class.forName("com.mysql.jdbc.Driver"); Connection connection = DriverManager.getConnection(connectionURL, user, pass); String sql = "INSERT INTO images (image) values(?)"; PreparedStatement statement = connection.prepareStatement(sql); statement.setBlob(1, inputStream); statement.executeUpdate(); connection.close(); } catch (SQLException | ClassNotFoundException e) { e.printStackTrace(); } finally { try { inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } ``` 在这个示例中,我们使用了Java Servlet 3.0规范中的Part API来获取上传文件。我们将文件的InputStream转换为字节数组,并将其插入到MySQL数据库中。请注意,要运行此示例,您需要将MySQL的JDBC驱动程序添加到您的项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值