@@ -175,25 +175,26 @@ fun uploadFileToS3PresignedUrl(presignedUrl: String, file: File, callback: (Bool
175
175
.url(presignedUrl)
176
176
.put(requestBody)
177
177
.build()
178
+ client.newCall(request).enqueue(
179
+ object : okhttp3.Callback {
180
+ override fun onFailure (call : okhttp3.Call , e : IOException ) {
181
+ callback(false , " Upload failed: ${e.message} " )
182
+ }
178
183
179
- client.newCall(request).enqueue(object : okhttp3.Callback {
180
- override fun onFailure (call : okhttp3.Call , e : IOException ) {
181
- callback(false , " Upload failed: ${e.message} " )
182
- }
183
-
184
- override fun onResponse (call : okhttp3.Call , response : okhttp3.Response ) {
185
- if (response.isSuccessful) {
186
- callback(true , " Upload successful" )
187
- } else {
188
- callback(false , " Upload failed: ${response.message} " )
184
+ override fun onResponse (call : okhttp3.Call , response : okhttp3.Response ) {
185
+ if (response.isSuccessful) {
186
+ callback(true , " Upload successful" )
187
+ } else {
188
+ callback(false , " Upload failed: ${response.message} " )
189
+ }
189
190
}
190
- }
191
- }, )
191
+ },
192
+ )
192
193
}
193
194
194
195
fun uploadFileToS3ThumbnailPresignedUrl (context : Context , presignedUrl : String , file : File , callback : (Boolean , String ) -> Unit ) {
195
196
val videoPath = file.absolutePath
196
- val outputImagePath = File (context.cacheDir, " ${ file.name } .jpg " )
197
+ val outputImagePath = File (context.cacheDir, file.name)
197
198
getVideoFrameAt1Sec(videoPath, outputImagePath.absolutePath)
198
199
val client = OkHttpClient ()
199
200
val mediaType = " application/octet-stream" .toMediaTypeOrNull()
@@ -203,26 +204,27 @@ fun uploadFileToS3ThumbnailPresignedUrl(context: Context, presignedUrl: String,
203
204
.url(presignedUrl)
204
205
.put(requestBody)
205
206
.build()
207
+ client.newCall(request).enqueue(
208
+ object : okhttp3.Callback {
209
+ override fun onFailure (call : okhttp3.Call , e : IOException ) {
210
+ callback(false , " Upload failed: ${e.message} " )
211
+ }
206
212
207
- client.newCall(request).enqueue(object : okhttp3.Callback {
208
- override fun onFailure (call : okhttp3.Call , e : IOException ) {
209
- callback(false , " Upload failed: ${e.message} " )
210
- }
211
-
212
- override fun onResponse (call : okhttp3.Call , response : okhttp3.Response ) {
213
- if (response.isSuccessful) {
214
- callback(true , " Upload successful" )
215
- } else {
216
- callback(false , " Upload failed: ${response.message} " )
213
+ override fun onResponse (call : okhttp3.Call , response : okhttp3.Response ) {
214
+ if (response.isSuccessful) {
215
+ callback(true , " Upload successful" )
216
+ } else {
217
+ callback(false , " Upload failed: ${response.message} " )
218
+ }
217
219
}
218
- }
219
- }, )
220
+ },
221
+ )
220
222
}
221
223
fun getVideoFrameAt1Sec (videoPath : String , outputImagePath : String ) {
222
224
val retriever = MediaMetadataRetriever ()
223
225
try {
224
226
retriever.setDataSource(videoPath)
225
- val timeUs = 1 * 1000000 // 1초를 마이크로초로 변환
227
+ val timeUs = 1 * 1000000
226
228
val bitmap: Bitmap ? = retriever.getFrameAtTime(timeUs.toLong(), MediaMetadataRetriever .OPTION_CLOSEST_SYNC )
227
229
228
230
if (bitmap != null ) {
0 commit comments