Мы узнали, что облачная консоль разработки больше предназначена для работы и управления исходными файлами в проекте. Например, изображение логотипа проекта можно загрузить в облако через облачную консоль разработки. Во время выполнения проекта также будут задействованы файловые операции, например, операции загрузки изображений пользователями. В этом случае необходимо использовать API облачного хранилища разработки.
Мини программа Облачная разработкапредоставляет сериюхранилищедействоватьAPI,иметьuploadFile()
документ Загрузить интерфейс、downloadFile()
скачатьдокументинтерфейс、deleteFile()
удалитьдокументинтерфейс和getTempFileURL()
换取临时链接интерфейс。
wx.cloud.uploadFile()
интерфейс的参数列表如下所示。В случае принятияcallbackстиль,Вызов любой из функций обратного вызова: успешный, неудачный или завершенный.,Будет возвращен объект UploadTask (объект, инкапсулирующий возвращаемую информацию).,События загрузки можно отслеживать с помощью объекта UploadTask.
Поле | иллюстрировать | тип данных | значение по умолчанию | Необходимый |
---|---|---|---|---|
cloudPath | Путь к облачному хранилищу. Ограничения по именованию см. в разделе «Ограничения по именованию файлов». | String | - | Y |
filePath | Путь к файловому ресурсу для загрузки | String | - | Y |
config | Конфигурация | Object | - | N |
success | успешный обратный вызов | |||
fail | Обратный вызов при сбое | |||
complete | завершить обратный вызов |
определение объекта конфигурации
Поле | иллюстрировать | тип данных |
---|---|---|
env | Используемый идентификатор среды. После заполнения среда, указанная в init, игнорируется. | String |
параметры возврата успеха
Поле | иллюстрировать | тип данных |
---|---|---|
fileID | Идентификатор файла | String |
statusCode | Код состояния HTTP, возвращаемый сервером | Number |
errMsg | Сообщение об ошибке, формат файла загрузки: ок. | String |
неудачно возвращаемые параметры
Поле | иллюстрировать | тип данных |
---|---|---|
errCode | код ошибки | Number |
errMsg | Сообщение об ошибке, формат файла загрузки: сообщение об ошибке | String |
возвращаемое значение
Если параметр запроса содержит success/fail/complete Любой из обратных вызовов вернет UploadTask объект, через UploadTask Объект может отслеживать события изменения хода загрузки и отменять задачи загрузки.
Код uploadFile.wxml в апплете следующий:
<!--index.wxml-->
<view class="container">
<!-- пользователь openid -->
<view class="userinfo">
<button
open-type="getUserInfo"
bindgetuserinfo="onGetUserInfo"
class="userinfo-avatar"
style="background-image: url({{avatarUrl}})"
></button>
<view>
<button class="userinfo-nickname" bindtap="onGetOpenid">Нажмите, чтобы получить openid</button>
</view>
</view>
<!-- Загрузить фотографии -->
<view class="uploader">
<view class="uploader-text" bindtap="doUpload">
<text>Загрузить фотографии</text>
</view>
<view class="uploader-container" wx:if="{{imgUrl}}">
<image class="uploader-image" src="{{imgUrl}}" mode="aspectFit" bindtap="previewImg"></image>
</view>
</view>
</view>
uploadFile.js
//index.js
const app = getApp()
Page({
data: {
avatarUrl: './user-unlogin.png',
userInfo: {},
logged: false,
takeSession: false,
requestResult: ''
},
onLoad: function() {
if (!wx.cloud) {
wx.redirectTo({
url: '../chooseLib/chooseLib',
})
return
}
},
// Загрузить фотографии
doUpload: function () {
// Выберите изображение
wx.chooseImage({
count: 1,
sizeType: ['compressed'],
sourceType: ['album', 'camera'],
success: function (res) {
console.log(res)
wx.showLoading({
title: «Загрузка»,
})
const filePath = res.tempFilePaths[0]
var timestamp = (new Date()).valueOf();//Создаем новый объект даты и превращаем его в метку времени
wx.cloud.uploadFile({
cloudPath: "img/"+timestamp+".jpg", // Путь для загрузки в облако
filePath: filePath, // Путь к временному документу мини-программы
success: res => {
console.log('[загрузитьдокумент] успех:', res)
app.globalData.fileID = res.fileID
app.globalData.cloudPath = cloudPath
app.globalData.imagePath = filePath
wx.navigateTo({
url: '../storageConsole/storageConsole',
})
},
fail: e => {
console.error('[загрузитьдокумент] неудача:', e)
wx.showToast({
icon: 'none',
title: «Загрузка не удалась»,
})
},
complete: () => {
wx.hideLoading()
}
})
},
fail: e => {
console.error(e)
}
})
},
})
Объяснение кода:В этом примере
wx.chooseImage()
интерфейс选择一幅图片,а потом позвониwx.cloud.uploadFile()
интерфейс Загрузить фотографиив облако。cloudPath
Поле是загрузитьдокументв облакедокументимя,Чтобы не повторяться,Текущая временная метка используется здесь для названия облака.документимя。filePath
Полеявляется местнымдокументпуть,Его значениеwx.chooseImage()
интерфейс的回调参数res.tempFilePaths[0]。
Пример эффекта следующий:
Нажмите «Загрузить изображение» и выберите изображение для загрузки.
После завершения загрузки проверьте успешность загрузки в облачной консоли разработки.
Загрузка прошла успешно и без проблем.
wx.cloud.downloadFile()
интерфейс从云хранилище空间скачатьдокумент Пример кода выглядит следующим образом:
wx.cloud.downloadFile({
fileID: 'a7xzcb',
success: res => {
// get temp file path
console.log(res.tempFilePath)
},
fail: err => {
// handle error
}
})
deleteFile(fileList: string[])
интерфейсудалить Облакодокумент Пример кода выглядит следующим образом:
wx.cloud.deleteFile({
fileList: ['a7xzcb'],
success: res => {
// handle success
console.log(res.fileList)
},
fail: err => {
// handle error
},
complete: res => {
// ...
}
})