精华内容
下载资源
问答
  • jersey下载功能

    2014-05-26 11:22:02
    使用jersey实现处理POST过来的表单信息,实现简单下载功能
  • 场景:app实现一物一码的防伪功能需求:一个二维码,实现功能 1、如果没安装指定app,扫描二维码后,跳转至app下载页面 |—1.1、如果用微信扫描,提示在浏览器中打开 |—1.2、非微信中打开 |——1.2.1、安卓...

    场景:用指定app扫码,则识别码中信息,用别的app或者浏览器扫码,则先跳转到下载app的界面

    需求:一个二维码,实现功能
    1、如果没安装指定app,扫描二维码后,跳转至app下载页面
    |—1.1、如果用微信扫描,提示在浏览器中打开
    |—1.2、非微信中打开
    |——1.2.1、安卓手机,直接跳转到apk下载地址,自动下载app
    |——1.2.2、苹果手机,跳转到appstore下载地址

    2、如果用指定app扫码,则显示该二维码所对应物品的详细信息

    示范:http://www.test.com/qr_identify.html?data=1504252956900FXKL4IC4 
    原理:url+物品识别码 拼接成新字符串,以新字符串生成二维码,扫描此二维码。
    如果不用指定app扫描(比如微信等)则选择url字符段跳转;
    如果用指定app扫描,将新字符串的后21位(即:?data= 后面的21位字符串)截取后,传给后台做识别(或者将整个新字符串都传给后台,让后台自己截取后21位字符来识别)。
    

    网站根目录结构如下:
    这里写图片描述

    qr_identify.html (在网站根目录下)代码如下:

    <!DOCTYPE HTML>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>APP 下载跳转页面</title>
        <script src="res/js/jquery-1.11.1.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
        window.onload = function(){
            /**
             * 应用场景:多码合一,下载二维码及物品识别码合成一个多功能二维码,
             * 二维码内字符串 示范:http://www.test.com/qr_identify.html?data=1504252956900FXKL4IC4
             * 用上述形式的字符串生成二维码
             * 如果用微信,支付宝等扫描软件扫描,跳转到下载该app的地址
             * 如果用自己开发的app扫描二维码,则把整个字符串提交到php后台
             * 后台识别出其中的物品识别码,即 data= 后面的字符串 1504252956900FXKL4IC4
             * author: 武当山道士
            */
    
    
            // 获取终端的相关信息
            var Terminal = {
                // 辨别移动终端类型
                platform : function(){
                    var u = window.navigator.userAgent;
    
                    return {
                        //微信内置浏览器
                        weixin: u.toLowerCase().match(/MicroMessenger/i) == "micromessenger",
                        // android终端或者uc浏览器
                        android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
                        // 是否为iPhone或者QQHD浏览器
                        iPhone: u.indexOf('iPhone') > -1 ,
                        // 是否iPad
                        iPad: u.indexOf('iPad') > -1,
                        //Windows Phone
                        winPhone: u.indexOf('Windows Phone') > -1,
    
                    };
                }(),
                // 辨别移动终端的语言:zh-cn、en-us、ko-kr、ja-jp...
                language : (navigator.browserLanguage || navigator.language).toLowerCase()
            }
    
            //url默认设置为官网首页
            var theUrl = 'http://www.test.com';
    
            // 根据不同的终端,跳转到不同的地址
            var t = Terminal.platform;
            if(t.weixin){//微信内置浏览器
    
                var winHeight = $(window).height();
                $(".weixin-tutor").css("height", winHeight);
                $(".weixin-tutor").show();
                return ;
            }else if(t.android){//安卓版下载地址
                theUrl = 'http://www.test.com/appinstall/cyts.apk';
            }else if(t.iPhone||t.iPad){//appstore下载地址,这里没有上线,就放了一个等待页面
                theUrl = 'http://www.test.com/appinstall/ios.html';
            }else if(t.winPhone){//windows phone版下载地址
                theUrl = 'http://www.test.com/appinstall/wait.html';
            }else{//如果是pc端打开,弹出警告
                alert("请用手机浏览器访问。");
            }
            //跳转到对应的url
            location.href = theUrl;
    
        }
    
        </script>
        <style type="text/css">
            * {
                margin: 0;
                padding: 0;
            }
    
            a {
                text-decoration: none;
            }
    
            img {
                max-width: 100%;
                height: auto;
            }
    
            .weixin-tutor {
                display: none;
                position: fixed;
                left: 0;
                top: 0;
                bottom: 0;
                background: rgba(0, 0, 0, 0.8);
                filter: alpha(opacity=80);
                height: 100%;
                width: 100%;
                z-index: 100;
            }
    
            .weixin-tutor p {
                text-align: center;
                margin-top: 0px;
                padding: 0 0 0 5%;
            }
            img {width:100%;height:auto;}
        </style>
    
    </head>
    <body>
        <div class="weixin-tutor">
            <p>
                <img src="appinstall/weixin.png" alt="微信打开" />
            </p>
        </div>
    </body>
    </html>

    appinstall/ios.html代码:

    <!DOCTYPE HTML>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>苹果版 app 下载地址</title>
        <style>
            * {
                margin: 0;
                padding: 0;
            }
            body{background: url(bg.jpg) no-repeat;}
            .container {
                display: block;
                position: fixed;
                left: 0;
                top: 0;
                bottom: 0;
                background: rgba(0, 0, 0, 0.8);
                filter: alpha(opacity=80);
                height: 100%;
                width: 100%;
                z-index: 100;
                text-align: center;
    
            }
            h1 {font-size:4rem;color:#fff;margin:20rem auto;}
        </style>
    </head>
    <body>
        <div class="container">
            <h1>ios版即将上线<br />敬请期待...</h1>
        </div>
    
    </body>
    </html>

    appinstall/wait.html代码:

    <!DOCTYPE HTML>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <title>其他版本 app 等待地址</title>
    
    </head>
    <body style="max-width: 800px;">
        <div style="width:100%;text-align: center;margin-top: 20px;">
            <h1>该版本的APP即将上线,敬请期待...</h1>
        </div>
    
    </body>
    </html>

    appinstall/weixin.png(透明背景的图,有白色的字):
    这里写图片描述

    appinstall/bg.jpg: 随便找张图当做背景就可以了

    总结:以上功能实现了自动跳转,至于物品唯一码,就交给后台处理了,例如:

    //获取二维码解析出来字符串,并截取其后21位物品识别码
        $str = I('codestr');//$str='http://www.test.com/qr_identify.html?data=1504252956900FXKL4IC4'
        $tid = substr($str,-21,21);//$tid='1504252956900FXKL4IC4'
        // ...用$tid做其他的处理
    展开全文
  • 1.coreldraw功能软件的开发和设计完全基于人工智能和机器学习的最新发展。形式自由的草图会在启用触摸功能的设备上转换为精准的矢量曲线。 增强节点、手柄和矢量预览使用增强的预览、节点和手柄功能,可以更有效地...

    1.coreldraw功能
    软件的开发和设计完全基于人工智能和机器学习的最新发展。形式自由的草图会在启用触摸功能的设备上转换为精准的矢量曲线。

    增强节点、手柄和矢量预览使用增强的预览、节点和手柄功能,可以更有效地编辑对象和效果,也不会迷失在设计的背景颜色中。

    卓越的交互式滑块轻松处理对象填充、透明度、混合、立体化、阴影和轮廓,这得益于更加突出的交互式滑块。

    自定义节点形状通过为每个节点类型分配唯一的形状,CorelDRAW2017可简化形状曲线和对象,从而轻松识别平滑、尖突和对称节点。您也可以选择最适合您的工作流程的节点形状。

    触摸友好的用户界面平板电脑模式支持轻松通过触摸屏幕或使用触控笔进行快速调整。

    通过仅显示最常使用的工具和命令,全新的触摸工作区会最大化绘图窗口大小,这样您可以使用单个手势进行摇动和缩放。

    2.coreldraw特色
    卓越的交互式滑块轻松处理对象填充、透明度、混合、立体化、阴影和轮廓,这得益于更加突出的交互式滑块。

    自定义节点形状通过为每个节点类型分配唯一的形状,CorelDRAW2017可简化形状曲线和对象,从而轻松识别平滑、尖突和对称节点。您也可以选择最适合您的工作流程的节点形状。

    触摸友好的用户界面平板电脑模式支持轻松通过触摸屏幕或使用触控笔进行快速调整。

    通过仅显示最常使用的工具和命令,全新的触摸工作区会最大化绘图窗口大小,这样您可以使用单个手势进行摇动和缩放。

    功能强大的触控笔功能增强凭借原生对MicrosoftSurface和高级触摸笔的支持,感受更加自然的绘图体验,并获得更加形象的效果。

    重新设计的UI可直接访问相关控件,并且能够快速选择使用哪个触控笔属性

    CorelDRAWGraphicsSuite2017在功能方面已得到全面提升,因此您可以充分利用触控笔的压力、倾斜、停顿和旋转,从而控制各种工具和效果。
    3.coreldraw下载链接:下载点击这里

    展开全文
  • 前面已经能够根据正则表达式、div的id属性、以及结果的正则表达式可以获取复杂的divs列表数据。 参数设置如下:divID属性获取div的正则表达式得到第几个div获取结果的正则表达式... 接下来要根据url信息获取详细结

        前面已经能够根据正则表达式、div的id属性、以及结果的正则表达式可以获取复杂的divs列表数据。

        参数设置如下:

    • divID属性
    • 获取div的正则表达式
    • 得到第几个div
    • 获取结果的正则表达式
    • 结果分组中的序号

       通过以上参数的设置基本可以获取任何符合条件的div,在通过解析结果的正则表达式基本可以得到任意结果。

       接下来要根据url信息获取详细结果,目前实现了:

    • url指定的html代码
    • 通过正则表达式得到想要的详细信息

       这样可以获取任意想要的详细信息,过滤掉不需要的数据;但是有一个问题,就是如果获取某些字段数据时就会有问题,譬如只需要详细信息页面中的姓名、性别、住址信息;并且要把详细信息的数据合并到结果中,这就涉及到以下两个问题:

    • 详细信息的精确性获取
    • 结果的合并问题

       下载的功能相对比较好实现,加入以下参数设置即可:

    • 文件的链接
    • 判断文件扩展名,通过流保存到本地指定文件夹
    • 替换源文件的文件链接

      

    展开全文
  • django 实现文件下载功能

    千次阅读 2019-01-06 14:34:00
    django 实现文件下载功能 一、概述 在实际的项目中很多时候需要用到下载功能,如导excel、pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍...

    django 实现文件下载功能

    一、概述

    在实际的项目中很多时候需要用到下载功能,如导excel、pdf或者文件下载,当然你可以使用web服务自己搭建可以用于下载的资源服务器,如nginx,这里我们主要介绍django中的文件下载。

    前端实现方式

    a标签+响应头信息

    <a href="/download/1/">下载图片</a>

     

    注意:这里的1指的是MySQL表的主键id

     

    后端实现方式

    使用django有三种文件下载方式,分别是HttpResponse,StreamingHttpResponse,FileResponse

    详情,请参考链接

    https://www.jb51.net/article/137790.htm

     

    本文主要介绍StreamingHttpResponse实现方式

     

    二、实际操作

    新建项目

    新建一个Django项目untitled1,这里的是Django 2.x版本。

    目录结构如下:

    ./
    ├── app
    │   ├── admin.py
    │   ├── apps.py
    │   ├── __init__.py
    │   ├── migrations
    │   │   └── __init__.py
    │   ├── models.py
    │   ├── tests.py
    │   └── views.py
    ├── manage.py
    ├── templates
    │   └── index.html
    ├── untitled1
    │   ├── __init__.py
    │   ├── settings.py
    │   ├── urls.py
    │   └── wsgi.py
    └── upload
        └── images
            └── animation.jpg

     

    默认创建了一个应用,名叫app

    upload是用来存放上传的图片

     

    简单示例

    这里以一个简单的页面,来介绍如何实现下载功能!

     

    修改urls.py,增加路由。

    注意:红色部分,是需要修改的

    from django.contrib import admin
    from django.urls import path,re_path
    from app import views
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', views.index),
        re_path('download/(?P<id>\d+)', views.file_down,name = "download"),
    ]

     

    修改views.py,增加视图函数

    from django.shortcuts import render, HttpResponse
    from django.http import StreamingHttpResponse
    import os
    
    def index(request):
        return render(request,"index.html")
    
    # Create your views here.
    def file_down(request, id):
        """
        下载压缩文件
        :param request:
        :param id: 数据库id
        :return:
        """
        data = [{"id":"1","image":"animation.jpg"}]  # 模拟mysql表数据
        file_name = ""  # 文件名
        for i in data:
            if i["id"] == id:  # 判断id一致时
                file_name = i["image"]  # 覆盖变量
        
        base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))  # 项目根目录
        file_path = os.path.join(base_dir, 'upload','images', file_name)  # 下载文件的绝对路径
    
        if not os.path.isfile(file_path):  # 判断下载文件是否存在
            return HttpResponse("Sorry but Not Found the File")
    
        def file_iterator(file_path, chunk_size=512):
            """
            文件生成器,防止文件过大,导致内存溢出
            :param file_path: 文件绝对路径
            :param chunk_size: 块大小
            :return: 生成器
            """
            with open(file_path, mode='rb') as f:
                while True:
                    c = f.read(chunk_size)
                    if c:
                        yield c
                    else:
                        break
    
        try:
            # 设置响应头
            # StreamingHttpResponse将文件内容进行流式传输,数据量大可以用这个方法
            response = StreamingHttpResponse(file_iterator(file_path))
            # 以流的形式下载文件,这样可以实现任意格式的文件下载
            response['Content-Type'] = 'application/octet-stream'
            # Content-Disposition就是当用户想把请求所得的内容存为一个文件的时候提供一个默认的文件名
            response['Content-Disposition'] = 'attachment;filename="{}"'.format(file_name)
        except:
            return HttpResponse("Sorry but Not Found the File")
    
        return response
    View Code

     

    代码解释:

    index是默认的首页展示

    file_down 是用来做下载的。

    为了简单实现,在file_down 中的data,表示数据库中的记录。需要指定id才能对应的文件!

    其他代码,有详细的注释,这里就不多介绍了

     

    修改index.html,注意:这里需要指定id。这里仅做示例,固定了id。

    实际情况应该查询数据库,使用Django模板引擎来渲染的

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <a href="/download/1/">下载图片</a>
    </body>
    </html>

     

    upload目录是用来存放上传文件的。在images里面我放了一张动漫图片!

     

    启动项目,访问首页:

    这里使用的是edge浏览器

     

    点击下载图片,浏览器底部会有提示

    点击打开

     

    就会打开图片,效果如下:

     

     

    posted @ 2019-01-06 14:34 肖祥 阅读(...) 评论(...) 编辑 收藏
    展开全文
  • 项目中使用spring-mvc架构,这种架构下controller即为servlet的一种,使用HttpServletResponse即可像servlet一样设置response头信息,实现下载功能。 一、使用HttpServletResponse实现下载功能 获取要...
  • laravel实现文件下载功能

    千次阅读 2017-09-10 12:39:31
    laravel自带文件下载功能,你可以参考官方文档laravel文件下载功能 download 方法可以用于生成强制让用户的浏览器下载指定路径文件的响应。download 方法接受文件名称作为方法的第二个参数,此名称为用户下载文件时...
  • 相应内容除了返回网页的信息外,还可以实现文件的下载功能,Django提供三种下载文件的功能,分别是:HttpResponse,StreamingHttpResponse,FileResponse. HttpResponse:是所有响应过程的核心类,它的底层功能类是...
  • electron 下载文件功能

    万次阅读 2017-10-12 12:32:07
    初识electron ...文档里面有中文的,所以还是蛮容易理解的。...其中package.json是用来描述一些配置信息以及一些快速启动的指令等信息的  main.js则是用来整个项目的主线程,用于创建窗口和处理系统事件。  inde
  • 文章目录1. 问题背景2. 解决方案2.1 解决思路2.2 例子实战Reference 1. 问题背景 在使用Dash框架实现可视化工具时,用户反馈希望...通常的下载功能是在后端(flask等)实现传送文件的逻辑,前端通过http接口请求文...
  • jsp上传下载功能

    2014-05-15 17:04:45
     上传文件是Web开发中经常要用到的功能:例如在基于B/S的人事信息管理系统中上传照片,在新闻发布系统中上传图片等等。。。。。要实现文件上传功能,就需要综合利用java中的文件输入和输出相关的类。  在TCP/IP中...
  • Thinkphp 下载png图片功能 在Thinkphp中使用框架自带的下载下载PNG、JPG等图片,发现图片时下载下来了,但是下载下来的图片不能够正常浏览,显示格式不正确,图片编辑器不能打开,但是使用nodepad++编辑器修改成...
  • PHP-文件下载功能总结

    千次阅读 2017-02-16 11:28:50
    假如文件是图片或者txt文档,就会直接在浏览器中打开,一般不建议用这种方式实现下载功能。2.通过流输出,php使用header()函数发送网页的头部信息给浏览器,该函数接收一个头信息的字符串作为参数。文件下载需要发送...
  • java后台实现excel文件下载功能

    千次阅读 2020-06-12 15:51:19
     java中对于excel文件的操作,有读取,写入,上传等功能,在对excel文件进行操作时,为了让使用者更加直观的制作excel数据,必然会有下载模板excel文件功能,这里以学生基本信息模板excel文件为例,实现对指定路径...
  • 一、前言 在Android开发中,经常会使用到文件下载的功能,比如app版本更新等。在api level 9之后,android系统为我们提供了...DownLoadManager.Query:主要用于查询下载信息。 DownLoadManager.Request:主要用于发起
  • struts2 文件上传 和部分源码解析,以及一般上传原理 (1) 单文件上传  一....但Struts2在原有的上传解析器基础 上做了进一步封装,更进一步简化了文件上传。 Struts2默认使用的是...
  • HTML5 Blob 实现文件下载功能

    万次阅读 2018-05-16 16:19:32
    原理其实很简单,就是将文本或者JS字符串信息(即后台返回来的在服务器上没有具体路径的动态文件,如导出数据功能)借助Blob转换成二进制,然后,作为元素的href属性,配合download属性,实现下载功能,缺点是如果...
  • 文件上传和下载功能

    千次阅读 2016-06-15 14:17:45
    1 需求 文件上传功能在IM系统里,一般都会涉及到的。那文件上传也分单聊和群聊两种情况。之前系统实现了单聊发送文件的情况,目前需要...1 客户端通过与消息服务器的长连接,发送文件请求到消息服务器,请求信息包括
  • HTML5 Blob 实现文件下载功能

    千次阅读 2019-06-25 16:05:54
    原理其实很简单,就是将文本或者JS字符串信息(即后台返回来的在服务器上没有具体路径的动态文件,如导出数据功能)借助Blob转换成二进制,然后,作为 a 标签的 href 属性,配合download属性,实现下载功能,缺点是...
  • HTTP 响应头信息 HTTP状态码 HTTP状态码分类 代码实现 运行效果 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。 ...
  • TCP下载器(客户端带进度显示功能,可实现大文件传输) server.py服务端需先运行 import socket import os # 定义接受客户端信息并处理文件的函数 def exec_file(client_socket,client_addr): print("等待client的...
  • 下载:rar格式的文件(压缩文件) ...charset=utf-8'); echo ''; ...(href=“要下载文件的地址路径”) ...使用header头信息标注的php返回给页面的内容,使用a连接来...以下代码也可以实现页面的下载功能: (以下的php代码
  • 可以先索要测试程序,待您满意后再做决定!若有需要请留言!:) 简洁实用的软件,帮你在慢慢人海中找到那个今生注定与你相伴的人!...您和家人是不是想要美女帅哥们的照片下载下来慢慢挑选;您是不是苦恼没钱购买
  • 文件上传下载功能一般会放在文件服务器中,前台直接拿到地址,直接请求地址,读取地址的相关信息,如果能解析该地址所对应的文件内容,就直接打开文件,展示内容。如果不能解析就下载文件。 但是有时我们也会将文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,684
精华内容 9,473
关键字:

下载信息功能