bootstrap fileinput 上传文件

最近用到文件上传功能,

说实话:以前遇到过一次,COPY了别人的代码

结束!

这次又要用,可是看到别人很酷的文件上传功能,心痒了!

好吧。简单的办法,找控件:

bootstrap fileinput

真是好看:

bootstrap-fileinput源码:https://github.com/kartik-v/bootstrap-fileinput

bootstrap-fileinput在线API:http://plugins.krajee.com/file-input

bootstrap-fileinput Demo展示:http://plugins.krajee.com/file-basic-usage-demo

可是好用吗?不知道。用吧!

-----------------------------------------------

苦难开始了!

因为没有用过,所以还 直接COPY别的代码:(http://blog.csdn.net/doc_wei/article/details/53783790

尽管写的很详细了,但还是不太懂!

总是提示:

405   method not allowed!

提示用了POST  请求。找了N种方案……

此处省略N万字……

最后才发现我用错了:

oFile.Init = function(ctrlName, uploadUrl) {
                var control = $(‘#‘ + ctrlName);

            //初始化上传控件的样式
                control.fileinput({
                language: ‘zh‘, //设置语言
                uploadUrl: uploadUrl, //上传的地址}

我一直把这个uploadUrl当成是文件上传保存的文件夹。

因为是个文件夹,不接受任何的POST,GET

即便是我给了所有的谓词允许

而实际上:这个uploadUrl 是后台处理的上传文件的页面或是一般处理程序

比如:A.aspx  或  fileHandler.ashx

我用的是 .ashx

using System;
using System.Web;
using System.Text;

public class HandlerFile : IHttpHandler {

    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "application/json";
        HttpPostedFile uploadFile = context.Request.Files[0];

        string fileName = uploadFile.FileName;
        int fileSize = uploadFile.ContentLength;
        string fileExt = System.IO.Path.GetExtension(fileName).ToLower();
        string directoryPath = "~/upload/";
        uploadFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath(directoryPath) + fileName);
        context.Response.Write("{\"fileName\":"+"\""+fileName+"\"}");
    }

    public bool IsReusable {
        get {
            return false;
        }
    }
}

这样就保存好了!

JS部分:

menu={ fileInput: function ()
    {
        var oFile = new Object();
        //初始化fileinput控件(第一次初始化)
        oFile.Init = function(ctrlName, uploadUrl) {
            var control = $(‘#‘ + ctrlName);

            //初始化上传控件的样式
            control.fileinput({
                language: ‘zh‘, //设置语言
                uploadUrl: uploadUrl, //上传的地址
                showUpload: true, //是否显示上传按钮
                showCaption: true,//是否显示标题
                browseClass: "btn btn-primary", //按钮样式
                ‘theme‘: ‘explorer‘,
                maxFileCount: 10, //表示允许同时上传的最大文件个数
                enctype: ‘multipart/form-data‘,
                validateInitialCount:true,
                previewFileIcon: "<i class=‘glyphicon glyphicon-king‘></i>",
                msgFilesTooMany: "选择上传的文件数量({n}) 超过允许的最大数值{m}!"
            });

            //导入文件上传完成之后的事件
            $("#uploadfile").on("fileuploaded", function (event, data, previewId, index) {
                console.dir(data);
                alert(data.files[0].name);
                //$("#div_startimport").show();
            });
        }
        return oFile;
    }}

前台HTML:

<body style="padding:16px;">
    <div class="panel panel-default">
        <div class="panel-heading">
            this is a test
        </div>
        <div class="panel-body">
            <form enctype="multipart/form-data" action="../handlerFile.ashx">
                <!--<input id="kv-explorer" type="file" multiple>-->
                <input type="file" name="uploadfile" id="uploadfile" multiple class="file-loading" />
                <br>

                <button type="submit" class="btn btn-primary">Submit</button>
                <button type="reset" class="btn btn-default">Reset</button>
            </form>
        </div>
    </div>
</body>
<script type="text/javascript">

    $(document).ready(function () {
        var oFileInput = new menu.fileInput();
        oFileInput.Init("uploadfile", "../handlerFile.ashx");
    });
</script>
时间: 2024-12-21 14:27:20

bootstrap fileinput 上传文件的相关文章

bootstrap fileinput上传文件

参考博客:https://blog.csdn.net/linhaiyun_ytdx/article/details/76215974  https://www.cnblogs.com/parker-yu/p/7207071.html 最近在最接口对接,需要将文件和一些其他参数发送到其他系统中去,发送文件用到了bootstrap fileinput. 一.首先要下载插件包 插件下载地址:https://github.com/kartik-v/bootstrap-fileinput/ 二.引入js和

Bootstrap FileInput 上传 中文 API 整理

Bootstrap FileInput 上传  中文 API 整理 上传插件有很多 但是公司用的就是 Bootstrap FileInput 自己就看了看  会用就行 自己都不知道每个值是干嘛用的就问大佬 总结一下 1 一. 引入文件 2 <link href="../css/bootstrap.min.css"rel="stylesheet"> 3 <link href="../css/fileinput.css" media

关于Bootstrap fileinput 上传新文件,移除时触发服务器同步删除的配置

在Bootstrap fileinput中移除预览文件时可以通过配置initialPreviewConfig: [ { url:'deletefile',key:fileid } ] 来同步删除服务器上的文件和记录.但新上传的文件则需要其他方式来同步删除服务器记录. 在配置中遇到的一些问题,记录一下. fileinput在文件上传成功后会触发'fileuploaded'事件,移除图片后会触发'filesuccessremove'事件. 其中在fileuploaded中参数previewId是形如

bootstrap fileinput上传返回400,404,500 等错误替换

$(".uploadfile").on('filebatchuploaderror', function(event, data, msg) { $(".file-error-message").text("请按照正确的进行操作!谢谢!"); }); 根据你的ID替换即可.

基于bootstrap的上传插件fileinput实现ajax异步上传功能(支持多文件上传预览拖拽)

首先需要导入一些js和css文件 ? 1 2 3 4 5 6 <link href="__PUBLIC__/CSS/bootstrap.css" rel="external nofollow" rel="stylesheet"> <link type="text/css" rel="stylesheet" href="__PUBLIC__/CSS/fileinput.css&qu

bootstrap图片上传控件 fileinput

前端 1.要引用的js <link type="text/css" rel="stylesheet" href="~/HContent/css/fileinput.css" /> //-----------样式 <script src="~/HContent/js/fileinput.js"></script> //基本的js<script src="~/HContent/j

WebUploader 上传插件结合bootstrap的模态框使用时选择上传文件按钮无效问题的解决方法

由于种种原因(工作忙,要锻炼健身,要看书,要学习其他兴趣爱好,谈恋爱等),博客已经好久没有更新,为这个内心一直感觉很愧疚,今天开始决定继续更新博客,每周至少一篇,最多不限篇幅. 今天说一下,下午在工作中遇到的一个问题:公司的后端同事用bootstrap的模态框,结合WebUploadder做后台上传文件的功能的时候,发现上传按钮点击无效.同事过来请求我支援,我研究了下,发现了三种解决方案,下面具体说说是这三种方法是怎么解决的. 我们先来分析一下解决这个问题的思路: 为什么上传控件放到模态框里面就

fileinput上传 全代码包含后台

说明:所提供的代码采用原生servlet+jdbc不用考虑项目兼容性问题(java),考虑到通用性加入了fileinputconfig.properties配置文件,只需要拷贝代码到项目中更改相关配置就可以使用. 1.先来效果图(代码在后面) 初始化 上传前 上传后 2.技术框架:fileinput + servlet+ jdbc 考虑到兼容所有的java框架所以采用了servlet+jdbc作为后台 依赖的js+css <script type="text/javascript"

ajax上传文件 预览

需要用到:ajaxfileupload <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script src="http://libs.baidu.com/jquer