获取了上传文件的对象,然后用file.getName(),最后得到的是上传时临时文件的名称,却没有的到真正文件的上传文件名称
要想获取上传文件名称:
首先呢,Action中有两个属性:uploadFileName和uploadContentType,这两个属性分别用于封装上传文件的文件名、文件类型。
这是Struts2设计的独到之处:Strut2的Action类直接通过File类型属性直接封装了上传文件的文件内容,但这个File属性无法获取上传文件的文件名和文件类型,所以Struts2就直接将文件域中包含的上传文件名和文件类型的信息封装到uploadFileName和 uploadContentType属性中,也就是说Struts2针对表单中名为xxx的文件域,在对应的Action类中使用3个属性来封装该文件域信息:
l 类型为File的xxx属性:用来封装页面文件域对应的文件内容。
2 类型为String的xxxFileName属性:用来封装该文件域对应的文件的文件名。
3 类型为String的xxxContentType属性:用来封装该文件域应用的文件的文件类型。
以下是实际java代码:
jsp页面:
<s:file name="upload"/> 这个name就是与Action的属性对应
Action类代码:
private File upload;
private String uploadFileName;
private String uploadContentType;
public void setUpload(File upload) {
this.upload = upload;
}
public void setUploadFileName(String uploadFileName) {
this.uploadFileName = uploadFileName;
}
public void setUploadContentType(String uploadContentType) {
this.uploadContentType = uploadContentType;
}
设置3个属性。分别给set方法. 这样子,就能够获取上传的文件,文件名,文件类型。
注意:这个uploadFileName,uploadContentType。如果File 属性名xxx(private File xxx;) 。那这个必须是xxxFileName, xxxContentType。然后也是分别给set 方法就可以。
特别注意:,<s:file/>标志不仅仅是绑定到upload,还有uploadContentType(上传文件的MIME类型)和uploadFileName(上传文件的文件名,该文件名不包括文件的路径)。因此,<s:file name="xxx" />对应Action类里面的xxx、xxxContentType和xxxFileName三个属性。
分享到:
相关推荐
本知识点将深入探讨如何使用原生JavaScript实现文件上传,获取文件的二进制数据、大小以及文件名称。 首先,我们需要一个HTML元素,通常是`<input type="file">`,用于让用户选择要上传的文件。例如: ```html ``...
当我们谈论"C#上传文件返回文件名称"时,这是指一个功能,允许用户通过前端(通常是网页或桌面应用)选择本地文件并将其发送到服务器,然后服务器会处理这个文件并返回其在服务器上的新名称。这种功能在数据交换、...
之前发布一个大文件上传,但是问题太多,此版本相对上一个稳定得多 ...ps:预览的话请上传大文件,如果不能上传先确保的你php设置的上传文件大小够不够 具体可修改 post_max_size=2000M , upload_max_filesize = 2000M
- **获取上传文件名称**:通过`FileUpload1.PostedFile.FileName`可以获取用户选择的文件名。 - **提取文件扩展名**:通过`System.IO.Path.GetExtension`方法提取文件的扩展名。 - **生成新的文件名**:将当前时间...
- **获取文件名**:使用 `FileUpload1.FileName` 获取用户上传的文件名称。 - **获取文件大小**:使用 `FileUpload1.PostedFile.ContentLength` 获取文件的大小(以字节为单位)。 - **获取文件类型**:使用 `...
`${dirname}`将提取出路径的目录部分,“path/to/”,而`${basename}`则提取出文件的基本名称,“myfile.txt”。 `<tstamp>`任务可以用来获取当前时间,这对于创建带有时间戳的输出文件或目录非常有用,比如构建...
这个参数非常重要,因为它决定了上传文件的保存位置。 saveRule参数用于设置上传文件的保存规则。这个参数必须是一个无需任何参数的函数名,例如time、uniqid、com_create_guid等。这个函数名将被用于生成唯一的...
domino xpages 获取上传文件路径名称
这段代码检查了是否为POST请求(IsPostBack),然后获取名为“fileUpload”的文件。如果文件存在且大小不为空,我们将文件保存到服务器指定的路径下。 为了提高用户体验,我们还可以添加一些验证逻辑,例如检查文件...
ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...
服务器端也应执行严格的验证和限制,例如禁止上传特定扩展名的文件,检查文件内容,以及限制单个文件或总的上传大小。 6. **modFileUpdate.bas和Form1.frm**:这两个文件可能是VB工程的一部分,`modFileUpdate.bas`...
layui 上传文件上传技巧 在layui框架中,上传文件是非常常见的需求,但是在上传文件的过程中,我们可能会遇到一些问题,例如上传按钮点击后不执行choose事件,这篇文章将会讲解如何解决这个问题,并提供一个简单的...
本篇文章将深入探讨如何使用Java来上传文件到SharePoint。 首先,我们需要了解Java中用于文件操作的基本类,如`java.io.File`,它提供了创建、读取、写入和删除文件的方法。此外,为了与SharePoint交互,我们需要...
在这个场景中,我们关注的是"js弹出窗口 + 获取上传文件全路径"的主题。这涉及到两个主要的知识点:JavaScript创建弹出窗口以及获取文件的完整路径。 首先,让我们详细探讨JavaScript创建弹出窗口。在Web开发中,弹...
删除文件夹,递归删除目录下的所有文件及子目录下所有文件,函数名:getFile 作用:使用递归,输出指定文件夹内的所有文件 参数:path:文件夹路径 前置空格缩进,显示文件层次结构,通过文件名称获取导入文件到temp...
本想做个批量文件上传的功能(设想是客户选择一个目录后,程序能判断需要上传的文件上传到服务器指定目录下),结果没有做出来,在网上找了许多版本的批量上传程序,但实验效果不好,有的还需要下载分,上传文件也不能...
在Spring Boot应用中,文件上传是一项常见的功能,它允许用户通过Web接口上传文件,并将这些文件存储在服务器的本地目录中。本项目的核心是利用Spring Boot的MVC特性来处理文件上传请求,以及构建一个安全、可靠且...
### WinForm上传文件到服务器 #### 知识点概述 在.NET Framework中,Windows Forms(简称WinForms)是一种用于创建Windows桌面应用程序的技术。本篇内容介绍如何使用WinForm实现文件的上传功能,即将本地文件传输...
在现代Web开发中,"上传文件AJAX"是一项至关重要的技术,它允许用户在不刷新整个页面的情况下,通过异步方式上传文件。这种方式极大地提升了用户体验,因为它使得网页交互更加流畅和快速。AJAX(Asynchronous ...
在C#中,判断上传文件的类型和大小是网络应用开发中的常见需求,尤其是在处理用户上传文件的功能时。为了确保安全性和性能,开发者通常需要验证文件的类型和大小,防止恶意大文件耗尽服务器资源,或者非法文件类型...