表单方式文件上传和获取文件属性

简介: 表单方式文件上传和获取文件属性

1.使用form上传文件:

复制代码
注:form表单里发送除文件外的数据,一般是新建一个type=hidden的input,value=‘需要传的数据’,每发送一个数据就需要一个input(相当于参数)

2.获取文件详细属性:
$("#fileContent").change(function(){
// 获取到file对象
var file = this.files[0]
// 声明FileReader实例化对象
var fr = new FileReader()
// 使用实例化对象的readAsDataURL API放入file对象
fr.readAsDataURL(file)
// 最后通过实例化对象的onload事件 获取文件详细属性
fr.onload = function (event) {

var data= event.target.result
AI 代码解读

// 如果是图片则是base64 不然就是blob对象

console.log(data)
AI 代码解读

}
})
复制代码
3.使用ajax上传form表单文件:
("input[type='button']").on('click', upfile); function upfile() { var formData = new FormData(); formData.append("接收字段1", document.getElementById('file1').files[0]); formData.append("接收字段2", document.getElementById('file2').files[0]);("input[type='button']").on('click', upfile); function upfile() { var formData = new FormData(); formData.append("接收字段1", document.getElementById('file1').files[0]); formData.append("接收字段2", document.getElementById('file2').files[0]);.ajax({
url: '接口地址url',
type: 'POST',
data: formData,
// 上传formdata封装的数据包
dataType: 'JSON',
cache: false,
// 不缓存
processData: false,
// jQuery不要去处理发送的数据
contentType: false,
// jQuery不要去设置Content-Type请求头
success: function(data) {
// 成功回调
console.log(data);
}
})
}
复制代码

如果没有使用JQ 而是原生的input file上传文件只需要:

html:


复制代码
JS:

function fileChange(e) {
  let file = e.target.files[0];
  console.log(file.lastModified);
  console.log(file.lastModifiedDate);
  console.log(file.name);
  console.log(file.size);
  console.log(file.type);
  console.log(file.webkitRelativePath);
}
AI 代码解读

复制代码
作者: Bill 本文地址: http://biaoblog.cn/info?id=1569400620000

版权声明: 本文为原创文章,版权归 biaoblog 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

目录
打赏
0
0
0
0
0
分享
相关文章
U-BOOT小全(六):BootLoader源码(UBoot-Kernel 1)
U-BOOT小全(六):BootLoader源码(UBoot-Kernel 1)
136 0
基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(二)
基于若依ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(二)
200 0
释放C盘空间:释放Windows休眠文件和关闭虚拟内存
在 Windows 11 专业版中,可以通过以下步骤来释放休眠文件(Hibernate File),以释放磁盘空间。休眠文件是系统休眠(Hibernate)功能所需要的文件,它保存了系统的当前状态,以便在休眠状态下恢复。如果你不使用休眠功能,如果因为C盘空间不足,可以考虑释放这个文件来腾出磁盘空间。
23458 1
|
11月前
|
利用信号量实现线程顺序执行
【8月更文挑战第25天】信号量是多线程编程中用于控制共享资源访问的关键同步机制,能有效保证线程按预设顺序执行。实现方法包括:引入相关头文件(如 C++ 中的 `<semaphore.h>`),创建信号量并通过 `sem_init` 设置初始值;在各线程函数中运用 `sem_post` 与 `sem_wait` 来传递执行权;最后,通过 `sem_destroy` 销毁信号量以释放资源。使用过程中需注意错误处理、确保线程安全及合理设定信号量初值,以维持程序稳定性和高效性。
123 1
大模型在自然语言处理(NLP)、计算机视觉(CV)和多模态模型等领域应用最广
【7月更文挑战第26天】大模型在自然语言处理(NLP)、计算机视觉(CV)和多模态模型等领域应用最广
588 11
函数计算产品使用问题之如何实现项目自动化部署
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
118 0
红帽 9 zabbix 安装流程
Zabbix是一个监控软件,用于确保企业服务架构的安全运行,具备灵活的告警机制和分布式监控能力。它由Server、Web页面、数据库、Proxy和Agent五个组件组成。工作流程中,Agent在目标设备上收集数据,Server存储和处理数据,Web页面提供监控信息。Zabbix支持主动和被动两种数据收集模式。在Redhat 9.2环境下,安装包括关闭防火墙、设置SELinux、安装MySQL、创建Zabbix数据库和用户、安装Zabbix RPM包及配置服务。完成安装后,通过Web界面使用Admin账号和预设密码zabbix登录。
400 2
AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等