注意事项:
1、console.log(this.result;); //这个不建议输出, 输出浏览器会很卡,这个输出的是base64的图片,很长。查看效果可以传递到后台查看。
2、jsp中accept="image/jpg,image/jpeg,image/png",要具体类型,否则,点击上传图片会很卡很卡 大约6s的反应
3、在控制器中做测试时,不要用console.log(i);做测试,因为i是闭包引用。特详细的我也说不出,我也有些晕乎。结果会一直都是最后那条数,~~我在这浪费了1天时间,在此谢我的黄兄指点
伪代码如下:
jsp:
{{fileName}} <!-- 利用angular的双向绑定,显示要上传的文件名-->
<div class="button" ngf-select="uploadFiles($files)" ng-model="files" ngf-multiple="true" accept="image/jpg,image/jpeg,image/png">上传图片</div>
指令控制器,CertificateRequisitionController
/**
* 定义全局变量,方便后期,保存、修改时使用
*/
var fileNames='';
var fileContents='';
/**
* 多图片上传
*/
$scope.uploadFiles = function (files) {
if (files && files.length) {
fileNames='';
fileContents='';
for(var i = 0, f; f = files[i]; i++) {
var reader = new FileReader();
reader.onload = (function(file) {
return function(e) {
console.log(i);//输出会是i最后一个值,循环几个就输出几个,注意这个地方。不要用这个做测试。
console.log(file.name);//输出会发现, 你选择几个图片, 就会显示几个图片名称。
fileNames+=file.name+",";
fileContents+=this.result+"wgy";
$scope.fileName=fileNames;//利用angular的双向绑定,把文件名赋值给scope在前端显示 };
})(f);
reader.readAsDataURL(f);
}
}
}
相关推荐
`files`是一个MultipartFile对象的数组,因为用户可能上传多张图片。 ```java @PostMapping("/upload") public String handleFileUpload(@RequestParam("images") MultipartFile[] files) { // 处理文件上传的逻辑...
在PHP开发中,多图片上传是一项常见的功能...综上所述,实现多图片上传涉及前端的文件选择、预览,后端的文件接收、处理和存储,以及必要的安全性检查。通过jQuery和PHP的结合,可以构建出高效且安全的多图片上传功能。
这个功能允许用户一次选择并上传多个图片,提高了用户体验。本篇将重点讲解如何实现基于HTML5的多图片上传及取消上传的机制。 在HTML5中,File API的引入使得直接在浏览器端处理文件变得可能,包括读取、写入和上传...
- **多图片上传**:意味着系统能够一次性上传多个图片文件,这在网站或应用中常用于图像库、相册或产品图片上传等功能。 **详细内容:** 1. **plupload组件介绍**:Plupload提供了一个用户友好的界面,支持拖放...
1. **前端界面设计**:多图片上传系统的第一步是创建一个用户界面,允许用户方便地选择并上传多个文件。HTML5的`<input type="file" multiple>`属性可以实现这一功能,允许用户一次性选择多个文件。此外,使用...