我在我的应用程序中设置了UIImagePicker工作正常.当我的UIImage选择器被选中时,我想将个人资料图片上传到Firebase.这是我选择图片时的功能.
//image picker did finish code
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
let chosenImage = info[UIImagePickerControllerOriginalImage] as! UIImage
profilePic.contentMode = .ScaleAspectFill
profilePic.image = chosenImage
profilePic.hidden = false
buttonStack.hidden = true
changeButtonView.hidden = false
self.statusLabel.text = "Here is Your Profile Picture"
dismissViewControllerAnimated(true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
新文档声明我们需要声明NSURl才能上传文件.这是我尝试找到给定文件的NSURL,但它不起作用.以下是文档及其链接:https://firebase.google.com/docs/storage/ios/upload-files#upload_from_data_in_memory
// File located on disk
let localFile: NSURL = ...
// Create a reference to the file you want to upload
let riversRef = storageRef.child("images/rivers.jpg")
// Upload the file …Run Code Online (Sandbox Code Playgroud) uiimagepickercontroller ios firebase swift2 firebase-storage
我正在尝试使用Firebase与Glide集成,由于某些原因,
Glide.using()无法解决此方法.我添加了:
compile 'com.firebaseui:firebase-ui-storage:0.6.0'
Run Code Online (Sandbox Code Playgroud)
进入build.gradle并且还:
compile 'com.github.bumptech.glide:glide:4.0.0-RC1'
Run Code Online (Sandbox Code Playgroud)
这是我试图使用Glide的部分:
mStorageRef = FirebaseStorage.getInstance().getReference();
mStorageRef.child("images/Puffer-fish-are-pretty-damn-cute.jpg");
// Load the image using Glide
Glide.with(this)
.using(new FirebaseImageLoader()) // cannot resolve method using!
.load(mStorageRef)
.into(imageView);
Run Code Online (Sandbox Code Playgroud)
我希望你能帮助我,没有在网上找到任何解决方案.
我是NodeJS的新手,我正在尝试为Firebase的Cloud Functions编写下一个方法.
我想要实现的目标:
这些是我的Firebase数据库结构:
照片/ {userUID}/{} photoUID
{
"dateCreated": "2017-07-27T16:40:31.000000Z",
"isProfilePhoto": true,
"isSafe": true,
"uid": "{photoUID}",
"userUID": "{userUID}"
}
Run Code Online (Sandbox Code Playgroud)
和Firebase存储格式:
照片/ {userUID}/{} photoUID .PNG
我正在使用的NodeJS代码:
const functions = require('firebase-functions')
const googleCloudStorage = require('@google-cloud/storage')({keyFilename: 'firebase_admin_sdk.json' })
const admin = require('firebase-admin')
const vision = require('@google-cloud/vision')();
admin.initializeApp(functions.config().firebase)
exports.sanitizePhoto = functions.database.ref('photos/{userUID}/{photoUID}')
.onDelete(event => {
let photoUID = event.data.key
let userUID = event.data.ref.parent.key
console.log(`userUID: ${userUID}, photoUID: ${photoUID}`);
if (typeof photoUID === 'undefined' || typeof userUID === 'undefined') {
console.error('Error while sanitize …Run Code Online (Sandbox Code Playgroud) node.js firebase firebase-realtime-database google-cloud-functions firebase-storage
我使用 Firebase 存储来upfile. 但它不起作用这是我的代码。
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://the-food-house.appspot.com/");
// Create a reference to "file"
StorageReference mStorage = storageRef.child("Album Avatar")
.child(UserUID)
.child(AvatarUser.getLastPathSegment());
mStorage.putFile(AvatarUser).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Toast.makeText(SignUpWithEmail.this, "UPLOAD FILE OK", Toast.LENGTH_SHORT).show();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.d("ERROR", e.toString());
Toast.makeText(SignUpWithEmail.this, "Failed", Toast.LENGTH_SHORT).show();
}
};
Run Code Online (Sandbox Code Playgroud)
这是我遇到的错误:
com.google.firebase.storage.StorageException: An unknown error occurred, please check the HTTP result code and inner exception for server response.
Run Code Online (Sandbox Code Playgroud)
这是错误的详细信息:
Unrecognized GLES …Run Code Online (Sandbox Code Playgroud) 我基本上是 Angularfire2 的新手,当用户按下删除按钮时,我试图从 Firebase 存储中删除一个文件夹。不幸的是,此类信息不在 Angularfire2文档中。
我基本上尝试使用下面的代码:
constructor(private afs: AngularFirestore, private storage: AngularFireStorage) {
this.clientsCollection = this.afs.collection('clients', ref => ref.orderBy('uid', 'asc'));;
}
deleteClient(client, callback){
this.storage.ref(client.uid).delete();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它抛出以下错误
FirebaseStorageError {code_: "storage/object-not-found", message_: "Firebase Storage: Object '3CqyNHrIwQ3sRlj83JKM' does not exist.", serverResponse_: "{? "error": {? "code": 404,? "message": "Not Found. Could not delete object"? }?}", name_: "FirebaseError"}
Run Code Online (Sandbox Code Playgroud)
我将每个客户的文档存储在一个文件夹中,该文件夹的名称与客户的uid相似。这实际上只是 Firebase 生成的 ID。当我尝试删除该文件夹时出现上述错误。请帮忙,我该怎么办?
可能是愚蠢的问题,但需要像我这样的初学者清除。
我知道如何在 Firestore 数据库上上传图片,但我想而不是使用FirebaseStorage为什么我们不使用 base64 字符串上传图片,这可能很简单?或者对字符串长度有一些限制?
~ PS:我还没有尝试过使用 base64 字符串在 Firestore 上上传图像。
我正在使用 firebase 云存储向(react-native)android 应用程序写入文件,即使我的规则是公开的,我的设备日志也会不断吐出:
W/NetworkRequest:请求没有身份验证令牌,W/StorageUtil:请求没有身份验证令牌。
最奇怪的是,我仍然可以读写文件,但是由于我每 3 毫秒收到一次这些消息之一,因此我的日志无法读取。一种解决方法是从日志文件中过滤掉这些消息,但这将是解决问题的一种非常肮脏的方法。是否有其他地方应该更新我的规则。
这些是我的存储规则:
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write, update, delete;
}
}
}
Run Code Online (Sandbox Code Playgroud)
开发平台:带有 react-native 的 Android API 28,在 google pixel 2 虚拟设备上(启用 Google play 服务)
我必须在 Reactjs 和 firebase 存储中上传图片。但是在我运行它之后,它向我显示了这个错误
这是我的代码src/firebase/firebase.js。我必须与我的火力连接的地方
import firebase from 'firebase/app'
import 'firebase/storage'
var firebaseConfig = {
apiKey: "AIzaSyDWZ8hH_r-thnYFhwYgBFbmIYaGid9ppOM",
authDomain: "milkteashop-4565d.firebaseapp.com",
databaseURL: "https://milkteashop-4565d.firebaseio.com",
projectId: "milkteashop-4565d",
storageBucket: "milkteashop-4565d.appspot.com",
messagingSenderId: "211198335221",
appId: "1:211198335221:web:05113e736a60861b100dbc",
measurementId: "G-7CMBMYCJEG"
};
firebase.initializeApp(firebaseConfig);
const storage = firebase.storage()
export {
storage, firebase as default
}
firebase.analytics();
Run Code Online (Sandbox Code Playgroud)
在App.js我必须从我的计算机上传文件图像并将其存储在 Firebase 存储中
import React, { useState } from 'react'
import { storage } from "./firebase/firebase"
function App() {
const allInputs = { imgUrl: '' }
const [imageAsFile, setImageAsFile] = …Run Code Online (Sandbox Code Playgroud) javascript firebase reactjs firebase-analytics firebase-storage
Firebase 存储在 Firebase 控制台中显示“错误加载预览”
最初在上传和加载期间它在我的应用程序中运行良好。两天后,当我检查我的应用程序是否正常工作时。
Firebase 控制台的屏幕截图:
我的图片上传代码:
if(imagePath!=null) {
FirebaseStorage.getInstance().getReference("admin").child(admin.getId()).putFile(imagePath);
}
Run Code Online (Sandbox Code Playgroud)
我的图片加载代码:
FirebaseStorage.getInstance().getReference("admin").child(image_path) .getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
Glide.with(getApplicationContext()).load(uri).centerCrop().into(profileImage);
}
});
Run Code Online (Sandbox Code Playgroud)
如果你知道,请帮助我如何克服这个问题。 感谢火力专家的进步
我看到很多练习都把 onComplete 但我的代码这是错误
没有为“UploadTask”类型定义 getter“onComplete”。尝试导入定义“onComplete”的库,将名称更正为现有 getter 的名称,或定义名为“onComplete”的 getter 或字段
为什么 ??
void uploadImage() async {
if (safeNeuralNetwork()) {
//Subir imagen a firebase storage
final Reference postImageRef =
FirebaseStorage.instance.ref().child("Post Images");
var timeKey = DateTime.now();
print(sampleImage);
UploadTask uploadTask =
postImageRef.child(timeKey.toString() + ".jpg").putFile(sampleImage);
var imageUrl =
await (await uploadTask.onComplete).ref.getDownloadURL();
url = imageUrl.toString();
print(url);
// Guardar el post en la bbdd
saveToDatabase(url);
//Regresar en Home
Navigator.pop(context);
}
}
Run Code Online (Sandbox Code Playgroud) firebase ×10
firebase-storage ×10
android ×4
flutter ×2
java ×2
angular ×1
angularfire2 ×1
database ×1
ios ×1
javascript ×1
node.js ×1
reactjs ×1
swift2 ×1