web前端上传文件按钮自定义样式

思路:

按钮进行隐藏,样式自己该怎么写怎么写,之后通过js监测input改变上传文件。

前端写法:

// jquery + bootstrap写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>上传文件获取URL</title>
    <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.css">
    <style>

        .uploader{
            position: relative;
        }

        .uploader input{
            position: absolute;
            top: 4px;
            opacity: 0;
            width: 100%;
        }

    </style>
</head>
<body>

<div class="container-fluid">

    <div class="row" style="margin: 0 0;margin-top: 20px;">
        <div class="col-md-1">
            <div class="uploader">
                <button class="btn btn-primary">上传图片</button>
                <form id="file_form">
                    <input type="file" id="file" name="file">
                </form>
            </div>
        </div>
    </div>

    <hr>

    <div class="row">

    </div>

</div>

<script src="/static/js/jquery.js"></script>
<script src="/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
<script>

    function start() {
        // 上传文件
        upload_file();
    }

    function upload_file() {
        $(‘#file‘).change(function () {
            var data = new FormData($(‘#file_form‘)[0]);
            // 上传文件
            $.ajax({
                url:`/v1/api/answer/kf_type/${kf_type}/upload/`,
                type:‘post‘,
                data:data,
                processData:false,  //表示不处理数据
                contentType:false,  //不设置数据类型
                dataType: ‘json‘,
                success:function (response) {
                    alert(response["message"]);
                    if (last_page_url !== ‘‘){
                        get_info(last_page_url);
                    }else{
                        get_info();
                    }
                    // 清空文件,为下次文件上传做准备
                    $(‘#file‘).val(‘‘);
                }
            });

        })
    }

    start();

</script>
</body>
</html>

django后端视图写法:

def image_upload(req):
    file = req.FILES.get(‘file‘)
    value = file.read()
    return HttpResponse("ok")

// value就是文件内容

前端效果图:

// 样式根据自己进行调节即可,我大概写的

原文地址:https://www.cnblogs.com/zezhou/p/12607143.html

时间: 2024-10-02 23:36:03

web前端上传文件按钮自定义样式的相关文章

怎样用纯HTML和CSS更改默认的上传文件按钮样式

如果你曾经试过,你就会知道,用纯CSS样式加HTML实现统一的上传文件按钮可能会很麻烦.看看下面的不同浏览器的截图.很明显的,他们长得很不一样. 我们的目标是创造一个简洁,用纯CSS实现的,在所有浏览器里的样子和布局是一样的上传文件按钮.我们可以这样: 步骤1.创建一个简单的HTML标记 1 2 3 4 <div class="fileUpload btn btn-primary">     <span>Upload</span>     <i

数据采集之Web端上传文件到Hadoop HDFS

前言 最近在公司接到一个任务,是关于数据采集方面的. 需求主要有3个: 通过web端上传文件到HDFS; 通过日志采集的方式导入到HDFS; 将数据库DB的表数据导入到HDFS. 正好最近都有在这方面做知识储备.正所谓养兵千日,用兵一时啊.学习到的东西只有应用到真实的环境中才有意义不是么. 环境 这里只做模拟环境,而不是真实的线上环境,所以也很简单,如果要使用的话还需要优化优化. OS Debian 8.7 Hadoop 2.6.5 SpringBoot 1.5.1.RELEASE 说明一下,这

web服务器上传文件过程

通过web服务器上传文件,需要提前准备好下面3步,然后才能通过第4步上传文件1.web服务器的配置 1.1 将代码src目录中的select.c文件的170行的REQUEST_TIMEOUT改为10*REQUEST_TIMEOUT 1.2 在buildroot中选中boa后保存编译,然后更新nfs_root中内容: 1.3 重启单板 1.4 配置/etc/boa/boa.conf文件 1.4.1 屏蔽掉Group nobody,增加Group 0 1.4.2 去掉Errorlog前的屏蔽 1.4

万家报账平台没有“上传文件”按钮的解决办法

在有的电脑没有"上传文件"的按钮? 第一步:首先检查浏览器设置. 第二步:找到IE的Internet选项菜单,开启菜单栏的根据下列方面找,如下图: 第三步:找到Internet选项后,点击,选择安全选项卡,并点击"自定义级别" 第四步:找到"将文件上载到服务器时包含本地目录路径"选择"启用".然后点击确定关闭IE,重启打开. 第五步:更新浏览器的flash版本.在百度中搜索"flash player官网"即

前端上传文件的方法总结

最近做了阿里云的oss上传,顺便来总结下上传文件的几种主要方法. 第一种:经典的form和input上传. 设置form的aciton为后端页面,enctype="multipart/form-data",type='post' <form action='uploadFile.php' enctype="multipart/form-data" type='post'> <input type='file'> <input type=

20151227:web:上传文件

aspx代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="s

上传文件按钮美化,上传文件前后状态控制

我们在做input文本上传的时候,html自带的上传按钮比较丑,如何对其进行美化呢?同理:input checkbox美化,input radio美化是一个道理的. input file上传按钮的美化思路是,先把之前的按钮透明度opacity设置为0,然后,外层用div包裹,就实现了美化功能. 注:input 的 type 为 file 时,它的 name 必须有值,因为这个 name 会做为上传文件信息的数组名称. <a href="javascript:;" class=&q

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

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

优秀的前端上传文件插件 web uploader

WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+.两套运行时,同样的调用方式,可供用户任意选用. 采用大文件分片并发上传,极大的提高了文件上传效率. 具体的使用方法和插件请参考 web uploader 之官网: http://fex-team.github.io/