当前位置:首页 » 文件管理 » bootstrap上传文件

bootstrap上传文件

发布时间: 2023-05-25 01:43:49

❶ bootstrap fileinput怎么和ajax一起上传

$(function(){
$("#imageUpload").fileinput({
showCaption: false,
language: 'zh',
enctype: 'multipart/form-data',
uploadUrl: '${basePath}fileupload?action=videoUpload', //上传的地址
allowedFileExtensions : ['flv', 'swf', 'mkv', 'avi', 'rm', 'rmvb'拆凯, 'mpeg', 'mpg', 'ogg', 'ogv', 'mov', 'wmv', 'mp4', 'webm', 'mp3'],//接收的文件后缀
initialPreviewAsData: false //配置上传后是否显示预览
}).on('fileuploaded',
function(event, data, id, index) {
var fname = data.files[index].name;
var out = '<li>' + '文件 # ' + (index + 1) + ' - ' + fname + ' 已经成功纳族上传洞御弊.' + '</li>';
$('#content').attr("value",data.response.videoUrl);//获得后台返回名为videoUrl的json数据
$('#kv-success-1').append(out);
$('#kv-success-1').fadeIn('slow');

❷ bootstrap-fileupload 怎么多文件上传

最近因为项目需要研究了下bootstrap fileinput的使用,来记录下这几天的使用心得吧。 前台html页面的代码 参数2 参数3 参数4 js进行插件的初始化和一些参数的设置 $("#excelFile").fileinput({ uploadUrl:"rest/import/importExcel",//上传的地...

❸ bootstrap fileinput 上传失败,求助

最近因为项目需要研究了下bootstrap fileinput的使用,来记录下这几天的使用心得吧。

前台html页面的代码

<form role="form" id="importFile" method="post"并闹

enctype="multipart/form-data">

<div class="row">

<div class="col-md-3" >

</div>

<div class="col-md-3 ">

<input type="radio" name="excelType" class="radio" id="line" value="line"><label for="line"> 参数2</label>

</div>

<div class="col-md-3 ">

<input type="radio" name="excelType" class="radio" id="pipeline" value="pipeline"><label for="pipeline"> 参数3</label>

</div>

<div class="col-md-3 ">

<input type="radio" name="excelType" class="radio" id="jdj" value="jdj"><label for="jdj"> 参数4</label>

</div>

</div>

<input id="excelFile" name="excelFile" class="file-loading"

type="file" multiple accept=".xls,.xlsx" data-min-file-count="1"

data-show-preview="true"> <br>

</form>

js进行插件的初始化和一些参数的设置

$("#excelFile").fileinput({

uploadUrl:"rest/import/importExcel",//上传的地址

uploadAsync: true,

language : "zh",//设置语言

showCaption: true,//是否显示标题

showUpload: true, //是否显示上传按钮

browseClass: "btn btn-primary", //按钮样绝迟罩式

allowedFileExtensions: ["xls", "xlsx"], //接收的文件后缀

maxFileCount: 10,//最大上传文件数限制

uploadAsync: true,

previewFileIcon: '<i class="glyphicon glyphicon-file"></i>',

allowedPreviewTypes: null,

previewFileIconSettings: {

'docx': '<i class="glyphicon glyphicon-file"></i>',

'xlsx': '<i class="glyphicon glyphicon-file"></i>',

'pptx': '<i class="glyphicon glyphicon-file"></i>',

旦含'jpg': '<i class="glyphicon glyphicon-picture"></i>',

'pdf': '<i class="glyphicon glyphicon-file"></i>',

'zip': '<i class="glyphicon glyphicon-file"></i>',

},

uploadExtraData: function() {

var extraValue = null;

var radios = document.getElementsByName('excelType');

for(var i=0;i<radios.length;i++){

if(radios[i].checked){

extraValue = radios[i].value;

}

}

return {"excelType": extraValue};

}

});

注意: uploadExtraData函数中只能用原生JS来取值,不能用JQuery来获取值,此参数用来向后台传递附加参数,以方便处理,最简单的写法是:

uploadExtraData: {

"excelType": document.getElementByID('id')

}

<input type="radio" name="excelType" class="radio网络搜索引擎营销sem竞价培训班http://www.yingtaow.com/pxfw?id="station" value="station"><label for="station"> 参数1</label>

文件上传成功后的回调方法

$("#excelFile").on("fileuploaded", function(event, data, previewId, index) {

alert("上传成功!");

$("#excelImport").modal("hide");

//后台处理后返回的经纬度坐标json数组,

var array = data.response;

console.dir(array);

//jquery循环取经纬度坐标

$.each(array,function(index,latAndLon){

var lon = latAndLon.lon;

var lat = latAndLon.lat;

var point = new Point(lon, lat, map.spatialReference);

var symbol = new esri.symbol.SimpleMarkerSymbol().setStyle(

SimpleMarkerSymbol.STYLE_CIRCLE).setColor(

new Color([255,255,0,0.5]));

var attr = {"address": "addressName" };

var infoTemplate = new esri.InfoTemplate("标题", "地址 :${address}");

var graphic = new Graphic(point,symbol,attr,infoTemplate);

map.graphics.add(graphic);

});

});

arcgis中点的定义的两种方法:

var point = new Point(lon, lat, new SpatialReference({ wkid: 4326 }));

var point = new Point(lon, lat, map.spatialReference);

后台java处理,使用common fileupload插件来实现,此处限制只能上传excel 文件

public JSONArray importExcel(HttpServletRequest request,

HttpServletResponse response) throws Exception {

final String allowFileSuffix = "xls,xlsx";

Subject subject = SecurityUtils.getSubject();

String uname = (String) subject.getPrincipal();

String basePath = "D:" + File.separator + uname;

File tmpDir = new File(basePath);// 初始化上传文件的临时存放目录

JSONArray jsonArry = new JSONArray();

if (!tmpDir.exists()) {

tmpDir.mkdirs();

}

// 检查输入请求是否为multipart表单数据。

if (ServletFileUpload.isMultipartContent(request)) {

DiskFileItemFactory dff = new DiskFileItemFactory();// 创建该对象

dff.setRepository(tmpDir);// 指定上传文件的临时目录

dff.setSizeThreshold(1024000);// 指定在内存中缓存数据大小,单位为byte

ServletFileUpload sfu = new ServletFileUpload(dff);// 创建该对象

// sfu.setFileSizeMax(5000000);//指定单个上传文件的最大尺寸

sfu.setSizeMax(10000000);// 指定一次上传多个文件的总尺寸

sfu.setHeaderEncoding("utf-8");

String type = null;

List<FileItem> fileItems = new ArrayList<FileItem>();

try {

fileItems = sfu.parseRequest(request);

} catch (FileUploadException e1) {

System.out.println("文件上传发生错误" + e1.getMessage());

}

String fullPath = null;

String fileName = null;

for (FileItem fileItem : fileItems) {

// 判断该表单项是否是普通类型

if (fileItem.isFormField()) {

String name = fileItem.getFieldName();// 控件名

String value = fileItem.getString();

if (name.equals("excelType")) {

type = value;

}

} else {

String filePath = fileItem.getName();

if (filePath == null || filePath.trim().length() == 0)

continue;

fileName = filePath.substring(filePath

.lastIndexOf(File.separator) + 1);

String extName = filePath.substring(filePath

.lastIndexOf(".") + 1);

fullPath = basePath + File.separator + fileName;

if (allowFileSuffix.indexOf(extName) != -1) {

try {

fileItem.write(new File(fullPath));

} catch (Exception e) {

e.printStackTrace();

}

} else {

throw new FileUploadException("文件格式不正确");

}

}

}

if (type.equals("station")) {

jsonArry = readExcel(fullPath, fileName);

} else if (type.equals("line")) {

System.out.println("===============:line");

} else if (type.equals("pipeline")) {

System.out.println("===============:pipeline");

} else if (type.equals("jdj")) {

System.out.println("===============:jdj");

}

}

return jsonArry;

}

// 判断文件类型

public Workbook createWorkBook(InputStream is, String excelFileName)

throws IOException {

if (excelFileName.toLowerCase().endsWith("xls")) {

return new HSSFWorkbook(is);

}

if (excelFileName.toLowerCase().endsWith("xlsx")) {

return new XSSFWorkbook(is);

}

return null;

}

public JSONArray readExcel(String basePath, String fileName)

throws FileNotFoundException, IOException {

File file = new File(basePath);

Workbook book = createWorkBook(new FileInputStream(file), fileName);

JSONObject jsonObj = new JSONObject();

JSONArray jsonArry = new JSONArray();

Sheet sheet = book.getSheetAt(0);

for (int i = 3; i < sheet.getLastRowNum(); i++) {

Row row = sheet.getRow(i);

String lon = row.getCell(2).getNumericCellValue() + "";

String lat = row.getCell(3).getNumericCellValue() + "";

jsonObj.put("lat", lat);// 纬度

jsonObj.put("lon", lon);// 经度

jsonArry.add(jsonObj);

}

System.out.println(jsonArry.toString());

return jsonArry;

}

❹ bootstrap-fileinput有没有完整的前后台例子

1、文件上传插件File Input介绍
这个插件主页地址是:plugins.krajee.com/file-input,可以从这里看到很多Demo的代码展示:plugins.krajee.com/file-basic-usage-demo。
这是一个增强的 HTML5 文件输入控件,是一个 Bootstrap 3.x 的扩展,实现文件上传预览,多文件上传等功能。
一般情况下,我们需要引入下面两个文件,插件才能正常使用:
bootstrap-fileinput/css/fileinput.min.css
bootstrap-fileinput/js/fileinput.min.js
简单的界面效果如下所示,和众多上传文件控件一样,可以接受各种类型的文件。当然,我们也可以指定具体接受的文件类型等功能。

如果需要考虑中文化,那么还需要引入文件:
bootstrap-fileinput/js/fileinput_locale_zh.js
这样基于MVC的Bundles集合,我们把它们所需要的文件加入到集合里面即可。
//添加对bootstrap-fileinput控件的支持
css_metronic.Include("~/Content/MyPlugins/bootstrap-fileinput/css/fileinput.min.css");
js_metronic.Include("~/Content/MyPlugins/bootstrap-fileinput/js/fileinput.min.js");
js_metronic.Include("~/Content/MyPlugins/bootstrap-fileinput/js/fileinput_locale_zh.js");
这样我们在页面里面,就可以呈现出中文的界面说明和提示了李派,如下界面所示。

2、文件上传插件File Input的使用
一般情况下,我们可以定义一个JS的通用函数,用来初始化这个插件控件的,如下JS的函数代码所示。

//初始化fileinput控件(第一次初始化)
function initFileInput(ctrlName, uploadUrl) {
var control = $('#' + ctrlName);

control.fileinput({
language: 'zh', //设置语言
uploadUrl: uploadUrl, //上传的地址
allowedFileExtensions : ['jpg', 'png','gif'],//接收的文件后缀
showUpload: false, //是否显示上传按钮
showCaption: false,//是否显示标题
browseClass: "btn btn-primary", //按钮样式
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
});
}

页面代码里面,我们放置一个文件上传控件,如下代码所示。
<div class="row" style="height: 500px">
<input id="file-Portrait1" type="file">
</div>
这样我们脚本代码的初始化代码如下:
//初始化fileinput控件(第一次初始化)游敏
initFileInput("file-Portrait", "/User/EditPortrait");
这样就完成了控件的初始化了,如果我们需要上传文件,那么还需要JS的代码处理客户端上传的事件,同时也需要MVC后台控制器处理文件的保存操作。
例如我对窗体数据的保存处理代码如下所示。

//添加记录的窗体处理
formValidate("ffAdd", function (form) {
$("#add").modal("hide");
//构造哪磨贺参数发送给后台
var postData = $("#ffAdd").serializeArray();
$.post(url, postData, function (json) {
var data = $.parseJSON(json);
if (data.Success) {
//增加肖像的上传处理
initPortrait(data.Data1);//使用写入的ID进行更新
$('#file-Portrait').fileinput('upload');

//保存成功 1.关闭弹出层,2.刷新表格数据
showTips("保存成功");
Refresh();
}
else {
showError("保存失败:" + data.ErrorMessage, 3000);
}
}).error(function () {
showTips("您未被授权使用该功能,请联系管理员进行处理。");
});
});

❺ bootstrap-fileinput组件怎么在上传时指定额外的URL参数

由于英文水平问题,阅读官方文档时没有找到该问题的解决方法,于是去github提了一个issue ,得到的答案是仔细阅读文档,里面有一个回调函数可以解决问题??
解决方法
关键的配置参数是uploadExtraData
具体的代码如下:
//获得额外参数的方法
fodderType = function() {
return $("#fodderTypeSelect").val();
};
//初始化fileinput控件(第一次初始化)
function initFileInput(ctrlName, FileExtensions, fileSize) {
var control = $('#' + ctrlName);
control.fileinput({
language: 'zh', //设置语言
uploadUrl: "/WxMedia/ImageUpload", //上传的地址
allowedFileExtensions: FileExtensions, //接收的文件后缀
showUpload: true, //是否显示上传按钮
showCaption: true, //是否显示标题,
maxFileSize: fileSize * 1000, //单位为kb,如果为0表示不限制文件大小
browseClass: "btn btn-primary", //按钮样式
previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
initialCaption: "请选择上传素材",
uploadExtraData: function(previewId, index) { //额外参数的关键点
var obj = {};
obj.fodder = fodderType();
console.log(obj);
return obj;
}
});
}
关键点:
可以看到配置文件中uploadExtraData的参数是一个函数形式,这是一个回调函数,会在上传时调用,读取配置的额外参数。

❻ bootstrap 多文件上传

```

<link href="/static/backend/css/fileinput.css" rel="stylesheet" />

 <script src="/static/backend/js/fileinput.js"></script>

 <link href="/static/backend/css/fileinput.min.css" rel="stylesheet" />

 <script src="/static/backend/js/fileinput.min.js"></script>

      <div class="file-loading">

        <input type="file" id="myfile" name="myfile[]" multiple data-allowed-file-extensions='["csv"]'/>//只能是csv 文件。 name=myfile[] 可以上传多个文件

       </div>

 </div>

Js

 $("#myfile").fileinput({

uploadUrl: "/backend/home/upload", //上传地址

uploadAsync: false, //设置上传同步异步 此为同步

            showUpload: true,

            showRemove: true,

         //   showClose: true,

maxFileCount: 10, //表示允许同时上传的最大文件个数

          /*  layoutTemplates:{

                actionDelete: ''

            },

            browseClass: 'btn btn-primary'*/

        });

后台/backend/home/upload

 public function upload(){

        var_mp($_FILES['myfile']);

      foreach ($_FILES["myfile"]['tmp_name'] as$k =>$v){

                   move_uploaded_file($v,ROOT_PATH.'public'.DS.'uploads'.DS.$_FILES['myfile']['name'][$k]);

Uploads要自己创建好文件夹

            }

        return 1; // 上传后要返回1

    }

```

<input type="file" id="myfile" name="myfile" multiple 控制可以上传多个 data-allowed-file-extensions='["csv"]'/>

 当点击上传后,报错,提示你必须选择最少X个文件上传。

input标签元素属性:data-min-file-count="2" 设置为X个文件,限制上传文件数。

data-allowed-file-extensions= '["csv"]'

限定上传什么文件。

❼ Bootstrap-fileinput上传控件 前端JS怎么获取服务器端执行后的返回值,求解

$("#file1").on("fileuploaded", function (event, data, previewId, index) {
va url = data.response.Result;
});

❽ 请问你有Thinkphp下使用Bootstrap File Input多文件上传的案例吗

现在我们开始使用插件
(1)首先引入文件
<!--css文件-->
<link href="__PUBLIC__/css/fileinput.css" media="all" rel="stylesheet" type="text/css" />

<link href="__PUBLIC__/css/bootstrap.min.css?v=3.3.6" rel="stylesheet">

<!--js文件-->
<script src="__PUBLIC__/js/jQuery.min.js" type="text/JavaScript"></script>
<script src="__PUBLIC__/js/bootstrap.min.js?v=3.3.6"></script>
<script src="__PUBLIC__/js/plugins/fileinput.js" type="text/javascript"></script>
<script src="__PUBLIC__/js/fileinput.min.js" type="text/javascript"></script>

(2)初始化控件
<input id="file" name="file_data[]" type="file" multiple data-preview-file-type="any" data-show-caption="true">
data-preview-file-type="any" :设置之后可以上传多个文件
name="file_data[]" :因为要上传多个文件所以要用数组
(3)js初始化控件
$("#file").fileinput({
uploadUrl: "{:U('Admin/Img/imgupload2')}",// 上传路径
uploadAsync: false,//是否异步传输
maxFileCount: 5//最大文件上传数量
}).on('filebatchpreupload', function(event, data, id, index) {

}).on('filebatchuploadsuccess', function(event, data) {//上传成功从服务器端返回的数据(即保存的文件名称)
for(var i=0;i<data.response.length;i++){
alert(data.response[i].flag);
}
});
(4)thinkphp对应的方法
public function imgupload2(){
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = './Public/Uploads/';// 设置附件上传根目录
$upload->savePath = ''; // 设置附件上传(子)目录
$info = $upload->upload(array($_FILES['file_data'])); // 上传文件
$i=0;
if(!$info) {// 上传错误提示错误信息
$a[$i]['flag']="no";
$this->ajaxReturn($a,'JSON');
}else{// 上传成功 获取上传文件信息
foreach($info as $file){
$a[$i]['flag']=$file['savepath'].$file['savename'];
$i++;
}
}
$this->ajaxReturn($a,'JSON');
}

❾ BootStrapFileinput手机图片上传显示旋转问题怎么办

最近因为项目需要用到了bootstrap fileinput的'插件,在使用苹果手机上传图片预览时,发现图片方向和手机本地存储方向不一致问题。后来通过查询资料了解图片具有EXIF(Exchangeable Image File Format)旋转属性标识,fileinput对旋转进行了处理。预览图片显示的为电脑图片存放方向。

用iPhone手机通过home键朝向四个不同的方向进行拍照后,上传照片显示与预览图片方向并不一致。有点不明白其中缘由,后来发现了规则,只有Home键朝下和朝上的时候才会发现显示不一致问题。解决方案如下:

fileinput.css、fileinput.min.css文件中,css样式旋转角度存在问题,修改以下样式就可以啦。Home键朝下拍摄

.rotate-6 { /*transform: rotate(90deg);原代码*/ transform: rotate(270deg);}

Home键朝上拍摄

.rotate-8 { /*transform: rotate(270deg);原代码*/ transform: rotate(90deg);}

❿ bootstrap,fileinput

showPreview

boolean, whether to display the file preview. Defaults totrue.

启用显示竖悉预览试试,设置为true。余神乎

具体的说明请参考官方文档瞎悄

热点内容
运动使人快乐缓解压力 发布:2025-02-08 20:27:01 浏览:98
linux命令大文件 发布:2025-02-08 20:25:06 浏览:897
C蚁群算法 发布:2025-02-08 20:21:25 浏览:513
私人搭建服务器能干嘛 发布:2025-02-08 20:21:24 浏览:596
网吧怎么通过服务器玩网络游戏 发布:2025-02-08 19:59:52 浏览:914
文档编辑加密 发布:2025-02-08 19:56:31 浏览:392
phpmysql存储过程实例 发布:2025-02-08 19:54:40 浏览:161
淘宝卖的地下城脚本 发布:2025-02-08 19:41:40 浏览:62
安卓怎么把提升画质关了 发布:2025-02-08 19:40:11 浏览:362
我想你加密 发布:2025-02-08 19:39:24 浏览:216