一、使用ih5自身数据库获取链接
1、尝试3(加数组过渡,提交多条数据)

步骤1:在舞台上添加一个容器来放置拖入的图片。
步骤2:在舞台初始化时添加循环事件,选对象范围为放图片的容器,类型为图片,动作为数组填充行,行数为计数器的值,值为图片的URL。
步骤3:预览查看,确保正确读取到图片数量(即循环次数)。
步骤4:打开数据库查看,发现只成功提交了一张图片,此时需要添加一个按钮和计数器,并设置数组行数为100。
步骤5:按钮添加事件,点击输出数组的行数到计数器(理论结果计数器的值应该为100)。
步骤6:预览点击测试,发现实际的输出值居然为0,先在数组里导入一些数据,再预览点击,显示的值为导入的行,而非设置的100,然后点击数组里的清空数据,再次预览点击,发现正常了(行数依旧设置为100)。

步骤7:一切正常后,回到数据库查看,图片已经批量上传成功,且顺序也相对正常,然后将这些图片链接的数据导出到Excel,再用公式把链接加个前缀即可(已有前缀的无需添加)。
二、使用jQuery-File-Upload插件
1、引入必要的CSS和JS文件
<link rel="stylesheet" href="{{asset('js/jquery-fileupload/css/jquery.fileupload.css')}}">
<link rel="stylesheet" href="{{asset('js/jquery-fileupload/css/jquery.fileupload-ui.css')}}">
<script type="text/javascript" src="{{asset('js/jquery-fileupload/js/jquery.ui.widget.js')}}"></script>
<script type="text/javascript" src="{{asset('js/jquery-fileupload/js/jquery.fileupload.js')}}"></script>
<script type="text/javascript" src="{{asset('js/jquery-fileupload/js/jquery.iframe-transport.js')}}"></script> 2、HTML代码
<meta name="csrf-token" content="{{ csrf_token() }}">
<form id="submit_form" action="{{route('work.store')}}" method="post">
{{csrf_field()}}
<table class="add_tab">
<tbody>
<tr>
<th>图片:<a id="start"></a></th>
<td>
<input id="fileupload" type="file" name="files[]" data-url="{{route('batch-upload', ['works'])}}" multiple>
<input id="file_path" type="hidden" name="file_path">
</td>
</tr>
<tr>
<th></th>
<td>
<div>
<div id="progress" style="width:50%;float:left">
<div class="bar" style="width: 0%;height:18px;background:green;"></div>
</div>
<div id="upload_finish" style="display:none;float:left;margin-left:15px;height:18px;line-height:18px;">上传完成</div>
</div>
<div style="clear:both"></div>
<div id = "upload_list">
</div>
</td>
</tr>
<tr>
<th></th>
<td>
<input type="submit" value="提交">
<input type="button" class="back" onclick="history.go(-1)" value="返回">
</td>
</tr>
</tbody>
</table>
</form> 3、实现的JS代码
$(function () {
$('#fileupload').fileupload({
dataType: 'json',
singleFileUploads: false,
beforeSend: function(xhr) {
$('#upload_finish').hide();
$('#progress .bar').css(
'width',
'0%'
);
xhr.setRequestHeader("X-CSRF-TOKEN", $('meta[name="csrf-token"]').attr('content'));
},
progressall: function (e, data) {
var progress = parseInt(data.loaded / data.total * 100, 10);
$('#progress .bar').css(
'width',
progre
});
} 三、使用Element UI + Vue进行批量上传

1、HTML部分
<el-dialog title="选择上传图片" :visible.sync="dialogVisible_up_image" width="30%">
<el-upload ref="upload" class="upload-demo" action="" :multiple="true" :auto-upload="false" :before-upload="beforeAvatarUploadImage" :file-list="fileList" :limit="6" :on-change="handleChange"> <el-button slot="trigger" size="small" type="primary">选取图片</el-button> <el-button style="margin-left: 10px;" size="small" type="primary" @click="uploadForm">上传到服务器</el-button> <div slot="tip" class="el-upload__tip">只能上传png、jpg格式的图片</div> </el-upload>
<span slot="footer" class="dialog-footer"> <el-button @click="dialogVisible_up_image = false">取 消</el-button> <el-button type="primary" @click="dialogVisible_up_image = false">确 定</el-button> </span> </el-dialog> 2、JS部分
// 判断图片格式 beforeAvatarUploadImage(file) { const isJpeg = file.type === 'image/png' || file.type === 'image/jpg' if (!isJpeg) { this.$message.error('请选择正确的文件格式上传') } return isJpeg }, // 选择文件时,往fileList里添加 handleChange(fileList) { this.fileList.push(fileList) }, // 批量上传 uploadForm() { if (this.fileList.length === 0) { this.$message.warning('请选取文件') return } const formData = new FormData() // 因为要传一个文件数组过去,所以要循环append this.fileList.forEach(file => { formData.append('files', file.raw) }) formData.append('userId', this.userId) // 自定义参数 this.$axios.post('http://117.78.49.148:8088/medical-care/common/uploadFile/FullPaths', formData).then(res => { this.$message.success('图片上传成功!') setTimeout(() => { this.dialogVisible_up_image = false }, 500) }).catch(res => { thi 是几种常见的批量上传图片的方法及其实现步骤,你可以根据自己的需求选择合适的方法进行操作。
各位小伙伴们,我刚刚为大家分享了有关批量上传图片教程 _上传图片的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/84630.html