续—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

 

posted @ 2021-01-03 11:29  hell_o  阅读(313)  评论(0编辑  收藏  举报