获取了上传文件的对象,然后用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` 获取文件的大小(以字节为单位)。 - **获取文件类型**:使用 `...
这个参数非常重要,因为它决定了上传文件的保存位置。 saveRule参数用于设置上传文件的保存规则。这个参数必须是一个无需任何参数的函数名,例如time、uniqid、com_create_guid等。这个函数名将被用于生成唯一的...
`${dirname}`将提取出路径的目录部分,“path/to/”,而`${basename}`则提取出文件的基本名称,“myfile.txt”。 `<tstamp>`任务可以用来获取当前时间,这对于创建带有时间戳的输出文件或目录非常有用,比如构建...
domino xpages 获取上传文件路径名称
这段代码检查了是否为POST请求(IsPostBack),然后获取名为“fileUpload”的文件。如果文件存在且大小不为空,我们将文件保存到服务器指定的路径下。 为了提高用户体验,我们还可以添加一些验证逻辑,例如检查文件...
ExtJS 验证上传文件类型 ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出...
上传文件时,通常会在界面上设置是否仅支持单文件上传,或者允许多文件上传。如果限制为单文件上传,可以在属性中勾选这一选项,并通过配置来指定允许的文件类型。对于多文件上传,就不需要勾选单文件上传,并可上传...
在这个场景中,我们关注的是"js弹出窗口 + 获取上传文件全路径"的主题。这涉及到两个主要的知识点:JavaScript创建弹出窗口以及获取文件的完整路径。 首先,让我们详细探讨JavaScript创建弹出窗口。在Web开发中,弹...
2. **移动上传文件:** 使用`move_uploaded_file()`函数将临时文件移动到服务器上的目标位置。确保指定的目录有写入权限。 3. **处理文件:** 文件上传成功后,你可以根据业务需求对文件进行进一步处理,如保存...
本篇文章将深入探讨如何使用Java来上传文件到SharePoint。 首先,我们需要了解Java中用于文件操作的基本类,如`java.io.File`,它提供了创建、读取、写入和删除文件的方法。此外,为了与SharePoint交互,我们需要...
删除文件夹,递归删除目录下的所有文件及子目录下所有文件,函数名:getFile 作用:使用递归,输出指定文件夹内的所有文件 参数:path:文件夹路径 前置空格缩进,显示文件层次结构,通过文件名称获取导入文件到temp...
layui 上传文件上传技巧 在layui框架中,上传文件是非常常见的需求,但是在上传文件的过程中,我们可能会遇到一些问题,例如上传按钮点击后不执行choose事件,这篇文章将会讲解如何解决这个问题,并提供一个简单的...
本想做个批量文件上传的功能(设想是客户选择一个目录后,程序能判断需要上传的文件上传到服务器指定目录下),结果没有做出来,在网上找了许多版本的批量上传程序,但实验效果不好,有的还需要下载分,上传文件也不能...
// value:文件名称 // file:文件对象 } }); ``` ##### 2. 异步上传文件 在`filebox`控件中,为了实现文件的异步上传,通常会使用Ajax技术。这里需要引入AjaxFileUpload包,并对EasyUI和AjaxFileUpload的源码...
### WinForm上传文件到服务器 #### 知识点概述 在.NET Framework中,Windows Forms(简称WinForms)是一种用于创建Windows桌面应用程序的技术。本篇内容介绍如何使用WinForm实现文件的上传功能,即将本地文件传输...
在C#中,判断上传文件的类型和大小是网络应用开发中的常见需求,尤其是在处理用户上传文件的功能时。为了确保安全性和性能,开发者通常需要验证文件的类型和大小,防止恶意大文件耗尽服务器资源,或者非法文件类型...