@@ -13,6 +13,7 @@ import com.record.upload.repository.UploadRepository
13
13
import dagger.hilt.android.lifecycle.HiltViewModel
14
14
import kotlinx.coroutines.launch
15
15
import java.io.File
16
+ import java.net.URL
16
17
import java.net.URLDecoder
17
18
import javax.inject.Inject
18
19
@@ -48,30 +49,36 @@ class UploadViewModel @Inject constructor(
48
49
49
50
fun uploadVideoToS3Bucket (context : Context , file : File ) =
50
51
viewModelScope.launch {
51
- uploadFileToS3PresignedUrl(uiState.value.bucketUrl, file) { success, message ->
52
+ var a = " "
53
+ var b = " "
54
+ uploadFileToS3PresignedUrl(uiState.value.bucketUrl, uiState.value.thumbnailUrl, file) { success, message ->
52
55
println (message)
53
- Log .d(" messageFile" , " $message " )
56
+ a = removeQueryParameters(message)
57
+ Log .d(" messageFile" , " $message " )
58
+ if (success) {
59
+ uploadFileToS3ThumbnailPresignedUrl(
60
+ context,
61
+ uiState.value.thumbnailUrl,
62
+ file,
63
+ ) { success, message ->
64
+ println (message)
65
+ b = removeQueryParameters(message)
66
+ Log .d(" messageThumbnail" , " $message " )
67
+ uploadRecord(a, b)
68
+ }
69
+ }
54
70
}
55
- uploadFileToS3ThumbnailPresignedUrl(
56
- context,
57
- uiState.value.thumbnailUrl,
58
- file,
59
- ) { success, message ->
60
- println (message)
61
- Log .d(" messageThumbnail" , " $message " )
62
- }
63
- uploadRecord()
64
71
}
65
72
66
- fun uploadRecord () =
73
+ fun uploadRecord (a : String , b : String ) =
67
74
viewModelScope.launch {
68
75
uploadRepository.uploadRecord(
69
76
videoInfo = VideoInfo (
70
77
location = " test" ,
71
78
content = " test" ,
72
79
keywords = encodingString(" 감각적인,강렬한,귀여운" ).trim(),
73
- videoUrl = " https://recordy-bucket.s3.ap-northeast-2.amazonaws.com/videos/40683dd4-52a3-4bb1-9833-7fb2256285e9.mp4 " ,
74
- previewUrl = " https://recordy-bucket.s3.ap-northeast-2.amazonaws.com/thumbnails/0ed9dfc0-8e41-491f-b4fb-2d7ea9a5d5e3.jpeg " ,
80
+ videoUrl = a ,
81
+ previewUrl = b ,
75
82
),
76
83
)
77
84
}
@@ -81,7 +88,11 @@ class UploadViewModel @Inject constructor(
81
88
val encodedString = Base64 .encodeToString(bytes, Base64 .DEFAULT )
82
89
return encodedString
83
90
}
84
-
91
+ fun removeQueryParameters (urlString : String ): String {
92
+ val url = URL (urlString)
93
+ val cleanUrl = URL (url.protocol, url.host, url.port, url.path)
94
+ return cleanUrl.toString()
95
+ }
85
96
fun setVideo (video : GalleryVideo ) = intent {
86
97
copy(video = video)
87
98
}
0 commit comments