input:file上传文件类型(超详细)

imput 属性有以下几种:

1.type:input类型这就不多说了
2.accept:表示可以选择的文件类型,多个类型用英文逗号分开,常用的类型见下表。

<input id="file" type="file" accept="image/png,image/gif" name="file" />

3.multiple:是否可以选择多个文件,多个文件时其value值为第一个文件的虚拟路径。

<input id="files" type="file" multiple="multiple" name="file" />

下面就是各种文件类型

*.3gpp    audio/3gpp, video/3gpp
*.ac3    audio/ac3
*.asf       allpication/vnd.ms-asf
*.au           audio/basic
*.css           text/css
*.csv           text/csv
*.doc    application/msword    
*.dot    application/msword    
*.dtd    application/xml-dtd    
*.dwg    image/vnd.dwg    
*.dxf      image/vnd.dxf
*.gif            image/gif    
*.htm    text/html    
*.html    text/html    
*.jp2            image/jp2    
*.jpe       image/jpeg
*.jpeg    image/jpeg
*.jpg          image/jpeg    
*.js       text/javascript, application/javascript    
*.json    application/json    
*.mp2    audio/mpeg, video/mpeg    
*.mp3    audio/mpeg    
*.mp4    audio/mp4, video/mp4    
*.mpeg    video/mpeg    
*.mpg    video/mpeg    
*.mpp    application/vnd.ms-project    
*.ogg    application/ogg, audio/ogg    
*.pdf    application/pdf    
*.png    image/png    
*.pot    application/vnd.ms-powerpoint    
*.pps    application/vnd.ms-powerpoint    
*.ppt    application/vnd.ms-powerpoint    
*.rtf            application/rtf, text/rtf    
*.svf           image/vnd.svf    
*.tif         image/tiff    
*.tiff       image/tiff    
*.txt           text/plain    
*.wdb    application/vnd.ms-works    
*.wps    application/vnd.ms-works    
*.xhtml    application/xhtml+xml    
*.xlc      application/vnd.ms-excel    
*.xlm    application/vnd.ms-excel    
*.xls           application/vnd.ms-excel    
*.xlt      application/vnd.ms-excel    
*.xlw      application/vnd.ms-excel    
*.xml    text/xml, application/xml    
*.zip            application/zip    
*.xlsx     application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

摘要来自:https://www.haorooms.com/

当你需要将用户选择的文件通过POST请求发送到服务器时,通常涉及到前端HTMLJavaScript以及后端API的交互。以下是步骤: 1. **HTML部分**: 使用`<input type="file" id="fileInput">`创建一个文件输入框,允许用户选择文件。 2. **JavaScript部分 (前端)** - 添加事件监听器处理文件选择: ```javascript document.getElementById('fileInput').addEventListener('change', function(e) { const file = e.target.files[0]; // 获取用户选择的第一个文件 // ...后续处理文件并发起POST请求 }); ``` - 使用`FormData`对象构建POST数据,它支持二进制数据,包括文件: ```javascript const formData = new FormData(); formData.append('file', file); ``` 3. **发起POST请求**: - 使用XMLHttpRequest或fetch API向后端服务器发送POST请求: ```javascript const xhr = new XMLHttpRequest(); xhr.open('POST', '/api/upload', true); // 替换为实际的API地址 xhr.onload = function() { if (xhr.status === 200) { // 检查响应状态 console.log('文件上传成功'); } else { console.error('文件上传失败'); } }; xhr.send(formData); ``` 或者使用fetch: ```javascript fetch('/api/upload', { method: 'POST', body: formData, headers: {'Content-Type': 'multipart/form-data'} }) .then(response => response.ok ? console.log('文件上传成功') : console.error('文件上传失败')) .catch(error => console.error('错误:', error)); ``` 4. **后端处理**: 后端收到POST请求后,解析`multipart/form-data`类型的请求体,读取文件内容,并保存到数据库或其他存储系统中。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值