質問編集履歴
4
文章の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -81,3 +81,13 @@
|
|
81
81
|
明確な原因が分からず、行き詰まっております。
|
82
82
|
|
83
83
|
何卒、お力添えをお願いいたします。
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
**追記:**
|
88
|
+
|
89
|
+
フォルダ内に画像ファイルが1つの場合、削除することができました。
|
90
|
+
|
91
|
+
複数ある場合にエラーが出るようです。
|
92
|
+
|
93
|
+
フォルダ内に複数ある場合、どのようにすれば良いかご回答いただけると嬉しいです。
|
3
書式の改善
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【Firebase Storage】
|
1
|
+
【Firebase Storage】画像の削除でエラーが発生する
|
test
CHANGED
@@ -14,35 +14,31 @@
|
|
14
14
|
|
15
15
|
```
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
__proto__: Promise
|
20
|
-
|
21
|
-
[[PromiseState]]: "fulfilled"
|
22
|
-
|
23
|
-
[[PromiseResult]]: Object
|
24
|
-
|
25
|
-
items: Array(2)
|
26
|
-
|
27
|
-
0: Reference
|
28
|
-
|
29
|
-
location: Location
|
30
|
-
|
31
|
-
bucket: "*****"
|
32
|
-
|
33
|
-
path_: "images/profile/******/****.jpg"
|
34
|
-
|
35
|
-
isRoot: (...)
|
36
|
-
|
37
|
-
path: (...)
|
38
|
-
|
39
|
-
__proto__: Object
|
17
|
+
FirebaseStorageError {code_: "storage/unknown", message_: "Firebase Storage: An unknown error occurred, please check the error payload for server response.", serverResponse_: "{↵ "error": {↵ "code": 400,↵ "message": "Th…d with '/' or contain two consecutive '/'s"↵ }↵}", name_: "FirebaseError"}
|
40
18
|
|
41
19
|
```
|
42
20
|
|
21
|
+
```
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
index.esm.js?2e66:635 DELETE
|
26
|
+
|
27
|
+
https://firebasestorage.googleapis.com/v0/b/[project名].appspot.com/o/images%2Fprofile%2F[uid]%2F7poS5YqHLZcXXPqHNF2m.jpg
|
28
|
+
|
29
|
+
%2Cgs%3A%2F%2F[project名].appspot.com%2Fimages%2Fprofile%2F[uid]%2F9J6YqM11OJOI3EtIMRMO.jpg
|
30
|
+
|
31
|
+
%2Cgs%3A%2F%2F[project名].appspot.com%2Fimages%2Fprofile%2F[uid]%2F7poS5YqHLZcXXPqHNF2m.jpg
|
32
|
+
|
33
|
+
%2Cgs%3A%2F%2F[project名].appspot.com%2Fimages%2Fprofile%2F[uid]%2F9J6YqM11OJOI3EtIMRMO.jpg 400
|
34
|
+
|
35
|
+
```
|
36
|
+
|
37
|
+
|
38
|
+
|
43
39
|
consoleで確認するとファイルの取得自体はできているようです。
|
44
40
|
|
45
|
-
|
41
|
+
.delete()で削除したいのですが、上記のエラーが発生しています。
|
46
42
|
|
47
43
|
|
48
44
|
|
@@ -54,10 +50,34 @@
|
|
54
50
|
|
55
51
|
// Storageの削除
|
56
52
|
|
53
|
+
const imageRef = [];
|
54
|
+
|
57
55
|
const ref = storage.ref();
|
58
56
|
|
59
|
-
const profileRef = ref.child(`/images/profile/${user.uid}/`).listAll()
|
57
|
+
const profileRef = ref.child(`/images/profile/${user.uid}/`).listAll()
|
60
58
|
|
59
|
+
.then((res) => {
|
60
|
+
|
61
|
+
res.items.forEach((itemRef) => {
|
62
|
+
|
63
|
+
imageRef.push(res.items);
|
64
|
+
|
61
|
-
console.log(
|
65
|
+
console.log(imageRef);
|
66
|
+
|
67
|
+
});
|
68
|
+
|
69
|
+
})
|
70
|
+
|
71
|
+
.then(() => {
|
72
|
+
|
73
|
+
storage.refFromURL(`${imageRef}`).delete();
|
74
|
+
|
75
|
+
});
|
62
76
|
|
63
77
|
```
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
明確な原因が分からず、行き詰まっております。
|
82
|
+
|
83
|
+
何卒、お力添えをお願いいたします。
|
2
タイトルの変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
【Firebase Storage】
|
1
|
+
【Firebase Storage】Promiseの扱いについて
|
test
CHANGED
@@ -2,23 +2,9 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
Firebase Storageの特定フォルダ内のファイルを削除し
|
5
|
+
Firebase Storageの特定フォルダ内のファイルを削除しようとしています。
|
6
6
|
|
7
|
-
Storageの階層は下記のようになります。
|
8
|
-
|
9
|
-
jpgファイル名はアップロード時にランダム変数でセットしています。
|
10
|
-
|
11
|
-
```
|
12
|
-
|
13
|
-
i
|
7
|
+
[.listAll()](https://firebase.google.com/docs/storage/web/list-files?hl=ja)でファイルを取得しています。
|
14
|
-
|
15
|
-
```
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
現状、ファイル名の取得ができていないので、取得方法を知りたいです。
|
20
|
-
|
21
|
-
ご教授いただけますと幸いです。
|
22
8
|
|
23
9
|
|
24
10
|
|
@@ -28,11 +14,37 @@
|
|
28
14
|
|
29
15
|
```
|
30
16
|
|
31
|
-
|
17
|
+
Promise {<pending>}
|
18
|
+
|
19
|
+
__proto__: Promise
|
20
|
+
|
21
|
+
[[PromiseState]]: "fulfilled"
|
22
|
+
|
23
|
+
[[PromiseResult]]: Object
|
24
|
+
|
25
|
+
items: Array(2)
|
26
|
+
|
27
|
+
0: Reference
|
28
|
+
|
29
|
+
location: Location
|
30
|
+
|
31
|
+
bucket: "*****"
|
32
|
+
|
33
|
+
path_: "images/profile/******/****.jpg"
|
34
|
+
|
35
|
+
isRoot: (...)
|
36
|
+
|
37
|
+
path: (...)
|
38
|
+
|
39
|
+
__proto__: Object
|
32
40
|
|
33
41
|
```
|
34
42
|
|
43
|
+
consoleで確認するとファイルの取得自体はできているようです。
|
44
|
+
|
35
|
-
|
45
|
+
pathを格納して.delete()で削除したいのですがどのようにすれば良いでしょうか。
|
46
|
+
|
47
|
+
|
36
48
|
|
37
49
|
### 該当のソースコード
|
38
50
|
|
@@ -40,12 +52,12 @@
|
|
40
52
|
|
41
53
|
```Javascript
|
42
54
|
|
43
|
-
const user = getCurrentUser();
|
44
|
-
|
45
55
|
// Storageの削除
|
46
56
|
|
47
57
|
const ref = storage.ref();
|
48
58
|
|
49
|
-
ref.child(`images/profile/${user.uid}/`).
|
59
|
+
const profileRef = ref.child(`/images/profile/${user.uid}/`).listAll();
|
60
|
+
|
61
|
+
console.log(profileRef);
|
50
62
|
|
51
63
|
```
|
1
エラーコードの追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
```
|
30
30
|
|
31
|
-
FirebaseStorageError {code_: "storage/object-not-found", message_: "Firebase Storage: Object 'images/profile/[uid]'
|
31
|
+
FirebaseStorageError {code_: "storage/object-not-found", message_: "Firebase Storage: Object 'images/profile/[uid]/""' does not exist.", serverResponse_: "{↵ "error": {↵ "code": 404,↵ "message": "No…lete object",↵ "status": "DELETE_OBJECT"↵ }↵}", name_: "FirebaseError"}
|
32
32
|
|
33
33
|
```
|
34
34
|
|