SmartUpload应用

article/2025/10/14 15:35:04

首先,在讲SmartUpload应用前,我讲一个简单实用的文件编辑器(编辑器可以调节字体大小、样式、颜色以及插入表情图标等功能)。

文件编辑器——如图所示:1-1

 设置文件编辑器步骤:

1、复制fckeditor包到项目。 

  1-2

没有的话,搜索jquery插件库,查询文件编辑器,就可以查找到各种类型的文件编辑器。

如图所示(为jQuery插件库的官网):1-3  

2、将jar包放入WEB-INF下的lib中(图1-2中的3个jar文件)

3、导入引用代码。

<%@taglib prefix="fc" uri="http://java.fckeditor.net" %>

prefix:标签          prefix="(可自定义)"

 主要代码:效果图为1-1

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><%@taglib prefix="fc" uri="http://java.fckeditor.net" %>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body><form action="doindex.jsp"><fc:editor instanceName="str"></fc:editor><input type="submit" value="提交"></form>
</body>
</html>

关于SmartUpload,首先介绍一下:

SmartUpload组件 :专门用于实现文件上传及下载的免费组件

SmartUpload组件特点:

使用简单:编写少量代码,完成上传下载功能;能够控制上传内容 ;

能够控制上传文件的大小、类型

缺点:目前已停止更新服务

SmartUpload使用步骤:

1、在项目中引入jspsmartupload.jar文件(导包)

2、设置表单的enctype属性

<form action="xx.jsp" enctype="multipart/form-data" method="post">

</form>

SmartUpload类及方法 

          属性名称

            说  明

public final void initialize(PageContext pageContext)

执行上传和下载的初始化工作,必须实现

public void upload()

实现文件数据的上传,在initialize方法后执行

public int save(String pathName)

将全部上传文件保存到指定的目录下,并返回保存的文件个数

public void setAllowFilesList(String ExtList)

指定允许上传的文件扩展名,接收一个扩展名列表,以逗号分隔

public void setDeniedFilesList( String   fileList)

指定了禁止上传的文件扩展名列表,每个扩展名之间以逗号分隔

public void setMaxFileSize(long filesize)

设定每个文件允许上传的最大长度

public  void setTotalMaxFileSIze(long totalfilesize)

设定允许上传文件的总长度


File类:

1、封装了单个上传文件所包含的所有信息

2、常用方法 

          方法名称

            说  明

saveAs(String destFilePathName)

将文件保存,参数destFilePathName是保存的文件名

isMissing( )

判断用户是否选择了文件,即对应表单项是否为空,返回值为boolean类型

public String getFieldName( )

获取表单中当前上传文件所对应的表单项的名称

public String getFileName( )

获取上传文件的文件名称,不包含路径

Files类:

1、封装了所有上传文件的信息集合

2、常用方法

          属性名称

            说  明

public int getCount()

取得文件上传的数目

public File getFile(int index)

取得指定位置的File文件对象

public long getSize()

取得上传文件的总长度

public Collection getCollection()

将所有上传文件对象以Collection的形式返回


 文件上传的实现:运用了SmartUpload和File类中的方法

上传图片页面重点代码:sendFile.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<html>
<head>
<meta charset="UTF-8">
<title>上传图片</title>
</head>
<body><img alt="" src="onload/a5.gif"><hr><form action="dosendFile.jsp" enctype="multipart/form-data" method="post"><input type="file" name="myfile"><br><input type="submit" value="开始上传"></form>
</body>
</html>

接收图片页面:dosendFile.jsp

<%@page import="com.jspsmart.upload.File"%>
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%//创建SmartUpload对象SmartUpload su = new SmartUpload();//初始化su.initialize(pageContext);//声明一个File对象 用来接收上传的文件File file = null;//设置允许上传的文件类型su.setAllowedFilesList("jpg,png,gif");//设置不允许上传的文件类型su.setDeniedFilesList("bat,exe,mp4");//设置单文件大小su.setMaxFileSize(30000);//设置总文件大小su.setTotalMaxFileSize(50000);//设置编码su.setCharset("utf-8");//开始上传su.upload();//获取文件集合中的第一个文件file = su.getFiles().getFile(0);String filePath = "";if (!file.isMissing()) {//拼接文件上传到服务器的 路径filePath = "onload/" + file.getFileName();//上传到服务器 保存到指定路径file.saveAs(filePath, SmartUpload.SAVE_VIRTUAL);}out.print("上传成功");out.print("<img src='" + filePath + "'>");
%>

效果图:1-3


http://chatgpt.dhexx.cn/article/u2Ln3LA9.shtml

相关文章

smartupload 的简单使用(上传)

今天。。。省略一万字&#xff0c;反正恨死隔壁宿舍的老王&#xff0c;妈蛋&#xff0c;把我电脑老虎机的分数都输光了。。。。天啥的。。省略一万字 最近开始学习javaweb&#xff0c;想了想&#xff0c;下载还有上传是两个必须要学会的功能&#xff0c;所以就开始学习 学习j…

SmartUpload综合

实现文件的上传与下载&#xff0c;可以使用Java的I/O流的类来实现&#xff0c;也可以使用专业的上传、下载组件。这些组件提供了现成的类&#xff0c;程序员只需调用这些类中的方法即可实现文件的上传与下载。本章将向读者介绍如何应用jspSmartUpload组件实现文件的上传与下载。…

SmartUpload文件上传

准备工作&#xff1a;在eclipse中创建网页项目&#xff0c;再添加服务器&#xff0c;双击打开服务器&#xff0c;然后导入jar包 选择路径&#xff0c;指定你想发送的路径。然后点击服务器&#xff0c;右键添加项目&#xff0c;点击start之后准备工作就完成了 操作流程 创建一个…

jsp——SmartUpload上传下载

SmartUpload 简介 SmartUpload组件是www.jspsmart.com网站开发的一套上传组件&#xff0c;它使用简单&#xff0c;方便。有以下几个特点&#xff1a; 使用简单。在JSP中仅仅书写三五行java代码就可以搞定文件的上传或下载。 能全程控制上传。利用SmartUpload组件提供的对象及其…

应用程序与驱动程序交互函数DeviceIoControl详解

这种通信方式&#xff0c;就是驱动程序和应用程序自定义一种IO控制码&#xff0c;然后调用DeviceIoControl函数&#xff0c;IO管理器会产生一个MajorFunction 为IRP_MJ_DEVICE_CONTROL&#xff08;DeviceIoControl函数会产生此IRP&#xff09;&#xff0c;MinorFunction 为自己…

QT(C++)DeviceIoControl()函数的相关使用

Microsoft官网中有这个函数的介绍&#xff0c;对&#xff0c;仅仅就是介绍&#xff0c;有时候官网的查询结果也就只能看看…… 在我写过的一个软件中&#xff0c;我曾经多次使用该函数获取相关结果&#xff0c;现将我的使用经验分享给大家&#xff01; DeviceIoControl()函数将…

应用程序与驱动程序通信 DeviceIoControl

本文为转载&#xff0c;参考链接地址 https://blog.csdn.net/li_wen01/article/details/80137566 https://www.cnblogs.com/lsh123/p/7354573.html DeviceIoControl 将控制代码直接发送到指定的设备驱动程序&#xff0c;使相应的设备执行相应的操作。 这种通信方式&#xff…

IO设备控制操作--DeviceIoControl

1.除了ReadFile和WirteFile以外&#xff0c;应用程序还可以通过另外一个API DeviceIoControl 操作设备。DeviceIoControl内部会使操作系统创建一个IRP_MJ_DEVICE_CONTROL类型的IRP&#xff0c;然后操作系统会将这个IRP转发到派遣函数中。 2.I/O控制码&#xff08;IOCTL&#xf…

DeviceIoControl获取硬盘信息

参考&#xff1a;DeviceIoControl 函数详细解析 BOOL WINAPI DeviceIoControl(_In_ HANDLE hDevice,_In_ DWORD dwIoControlCode,_In_opt_ LPVOID lpInBuffer,_In_ DWORD nInBufferSize,_Out_opt_ LPVOID lpOutBuf…

windows driver - DeviceIoControl 用法

原文地址&#xff1a;https://www.cnblogs.com/lsh123/p/7354573.html 之前写过一篇关于通过DeviceIoControl函数来使应用程序与驱动程序通信的博客&#xff0c;这次再通过这个完整的代码来简要疏通总结一下。 这种通信方式&#xff0c;就是驱动程序和应用程序自定义一种IO控制…

@ControllerAdvice 用法

ControllerAdvice 用法 顾名思义&#xff0c;ControllerAdvice就是Controller 的增强版。ControllerAdvice主要用来处理全局数据&#xff0c;一般搭配ExceptionHandler、ModelAttribute以及InitBinder使用。 全局异常处理 ControllerAdvice最常见的使用场景就是全局异常处理…

驱动开发:应用DeviceIoContro模板精讲

在笔者上一篇文章《驱动开发&#xff1a;应用DeviceIoContro开发模板》简单为大家介绍了如何使用DeviceIoContro模板快速创建一个驱动开发通信案例&#xff0c;但是该案例过于简单也无法独立加载运行&#xff0c;本章将继续延申这个知识点&#xff0c;通过封装一套标准通用模板…

驱动开发:应用DeviceIoContro开发模板

内核中执行代码后需要将结果动态显示给应用层的用户&#xff0c;DeviceIoControl 是直接发送控制代码到指定的设备驱动程序&#xff0c;使相应的移动设备以执行相应的操作的函数&#xff0c;如下代码是一个经典的驱动开发模板框架&#xff0c;在开发经典驱动时会用到的一个通用…

deviceiocontrol(deviceiocontrol函数)

如何用DeviceIOControl读取并口信息 应用程序和驱动程序的通信过程是&#xff1a;应用程序使用CreateFile函数打开设备&#xff0c;然后用DeviceIoControl与驱动程序进行通信&#xff0c;包括读和写两种操作。还可以用ReadFile读数据用WriteFile写数据。操作完毕时用CloseHandl…

DeviceIOControl详解-各个击破

DeviceIoControl这个api我们用的不多&#xff0c;但是很重要&#xff0c;有时会帮助我们实现一些特别的需求, 如获取硬件设备信息、与硬件设备通信&#xff08;读写数据&#xff09;等&#xff0c;对照msdn&#xff0c;下面我们详细解释一下这个api的用法&#xff08;有什么错误…

DeviceIoControl 函数详细解析

前言&#xff1a; 最近需要对Windows中的设备进行编程操作&#xff0c;其中涉及到非常重要的函数DeviceIoControl&#xff0c;在使用的时候也比较的复杂&#xff0c;国内这一块中文资料比较少&#xff0c;在学习之余顺便将其翻译出来&#xff0c;以供参考&#xff0c;如有错误&…

操作系统原理(一)——自举过程

操作系统&#xff0c;这个名词每个人都不会陌生&#xff0c;但又总觉得似乎没有了解很深&#xff0c;这一系列博客将会从零开始强化你对操作系统的认知。 1. 什么是操作系统&#xff1f; 答&#xff1a;操作系统是介于硬件与用户&#xff08;也就是程序和人&#xff09;之间的…

【操作系统基础知识 一】操作系统基本原理

学生时代没有好好学习操作系统&#xff0c;悔不当初&#xff0c;现在重新捡起来看看&#xff0c;才发现日常有很多事情都可以解释了&#xff0c;例如为什么Linux快&#xff01;并发是什么&#xff1f;操作系统到底干啥活&#xff0c;这篇blog是王道的学习笔记&#xff1a; 操作…

操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例

操作系统原理&#xff0c;进程的基本状态&#xff0c;运行态&#xff0c;就绪态&#xff0c;等待态与转换模型&#xff0c;进程的其他状态&#xff0c;创建&#xff0c;终止&#xff0c;挂起与转换模型&#xff0c;Linux进程状态模型示例 一、进程的三种基本状态&#xff1a; …