zoukankan      html  css  js  c++  java
  • 续—Django+小程序实现图片下载功能

    在已经完成图片上传功能的基础上再完成图片下载功能,那具体怎么实现呢?那就看以下操作吧

    第一步:在backup文件夹下的backup.js文件中,专门一个函数,处理图片下载功能,那具体的操作如下:

    // 下载图片
      downloadFile: function (imgItem) {
        var that = this
        wx.downloadFile({
          url: imageUrl + '?md5=' + 'c272fb65f82896887eaf7d99bf90856d', //指定地址,获取全局变量中的imageUrl,在imageUrl的后面拼接图片名称
          success : function(res){
            //临时路径
            var tmpPath = res.tempFilePath
            var newDownloadedBackupedfiles = that.data.downloadedBackupedFiles
            //把临时路径添加进去
            newDownloadedBackupedfiles.push(tmpPath)
            that.setData({
              downloadedBackupedFiles: newDownloadedBackupedfiles
            })
          }
        })
      }
    关于图片下载功能的代码

    第二步:运行程序,看图片是否下载,效果如下:

    注:只要下载了图片,图片会在小程序中进行显示。还是需要注意一下Django必须运行起来,才可以进行相关的操作

    接下来点击下载图片按钮,看会不会在小程序中显示(如果显示,说明运行成功),如下:

    关于backup.js整体代码:

    const app = getApp()
    const imageUrl = app.globalData.serverUrl + app.globalData.apiVersion //这里可以理解为路径拼接
    
    Page({
      data: {
        // 需要上传的图片
        needUploadFiles: [],
        // 已下载的备份图片
        downloadedBackupedFiles: [],
      },
    
      // 选择图片上传
      chooseImage: function(e) {
        var that = this;
        wx.chooseImage({
          sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
          sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
          success: function(res) {
            // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
            that.setData({
              needUploadFiles: that.data.needUploadFiles.concat(res.tempFilePaths)
            });
          }
        })
      },
    
      // 上传图片文件
      uploadFiles: function() {
        for(var i=0;i<this.data.needUploadFiles.length;i++){
          var filePath= this.data.needUploadFiles[i]
          wx.uploadFile({
            filePath: filePath,
            name: 'test',
            url: imageUrl,
            success: function(res){
              //打印结果
              console.log(res)
            }
          })
        }
      },
    
      // 下载图片
      downloadFile: function (imgItem) {
        var that = this
        wx.downloadFile({
          url: imageUrl + '?md5=' + 'c272fb65f82896887eaf7d99bf90856d', //指定地址,获取全局变量中的imageUrl,在imageUrl的后面拼接图片名称
          success : function(res){
            //临时路径
            var tmpPath = res.tempFilePath
            var newDownloadedBackupedfiles = that.data.downloadedBackupedFiles
            //把临时路径添加进去
            newDownloadedBackupedfiles.push(tmpPath)
            that.setData({
              downloadedBackupedFiles: newDownloadedBackupedfiles
            })
          }
        })
      }
    });
    backup.js
  • 相关阅读:
    $动态规划系列(1)——金矿模型的理解
    $Java HttpClient库的使用
    $Java-json系列(二):用JSONObject解析和处理json数据
    $百度应用引擎BAE的使用与应用部署
    利用ajax短轮询+php与服务器交互制作简易即时聊天网站
    MYSQL explain详解
    Redis 5种数据结构使用及注意事项
    Redis 存储机制
    memcache
    mysql分表和表分区详解
  • 原文地址:https://www.cnblogs.com/zhang1314/p/14225060.html
Copyright © 2011-2022 走看看