Я делаю api для своего приложения для Android, используя Slim framework. Но когда я загружаю видео на локальный сервер из своего приложения Android, вызывая api, он генерирует белое миниатюру для видео в моем приложении. могу ли я получить миниатюру для загруженного видео.white thumbnail для загруженного видео в приложении android
Мой код для создания АФИ:
$app->post('/do_upload', 'authentication', function() use ($app) {
verifyRequiredParams(array('albumId'));
global $user_id;
$response = array();
$file_path = "../uploads/$user_id/photo_gallery/thumbnails/";
if (!file_exists($file_path)) {
mkdir($file_path, 0777, true);
}
$thumbnail = $user_id . "/photo_gallery/thumbnails/";
$response = array();
if (isset($_FILES["files"])) {
$temp = explode(".", $_FILES['files']['name']);
$detectedType = $_FILES["files"]["name"];
$filetype = substr($detectedType, strpos($detectedType, ".") + 1);
$newfilename = 'shared_' . rand(1, 99999) . '.' . end($temp);
$file_path = $file_path . basename($newfilename);
$thumbnail = "$user_id/photo_gallery/thumbnails/" . $newfilename;
$filename = "$user_id/photo_gallery/thumbnails/" . $newfilename;
$mobile_thumbnail = "$user_id/photo_gallery/thumbnails/" . $newfilename;
if (move_uploaded_file($_FILES['files']['tmp_name'], $file_path)) {
}
$albumId = urldecode($app->request->post('albumId'));
$caption = urldecode($app->request->post('caption'));
$db = new DbHandler();
if (($filetype == "gif")
|| ($filetype == "png")
|| ($filetype == "jpeg")
|| ($filetype == "jpg")
|| ($filetype == "JPEG")
|| ($filetype == "PNG")
|| ($filetype == "GIF")
|| ($filetype == "JPG")
) {
$type = "image";
$result = $db->SharedImage($albumId, $user_id, $caption, $filename, $thumbnail, $mobile_thumbnail, $type);
} else {
$type = "video";
$result = $db->SharedImage($albumId, $user_id, $caption, $filename, $thumbnail, $mobile_thumbnail, $type);
}
if ($result != "null") {
while ($res = $result->fetch_assoc()) {
$response = array();
$response["id"] = $res["id"];
$response["event_id"] = $res["event_id"];
$response["album_id"] = $res["album_id"];
$response["status"] = $res["status"];
$response["filename"] = $res["filename"];
$response["contributedby_id"] = $res["contributedby_id"];
$response["guest_id"] = $res["guest_id"];
$response["thumbnail"] = $res["thumbnail"];
$response["mobile_thumbnail"] = $res["mobile_thumbnail"];
$response["order_id"] = $res["order_id"];
$response["created"] = $res["created"];
$response["updated"] = $res["updated"];
$response["title"] = $res["title"];
$response["type"] = $res["type"];
$response["caption"] = $res["caption"];
$response["taken"] = $res["taken"];
$response["copied_from"] = $res["copied_from"];
$response["media_size"] = $res["media_size"];
$response["thumbnail_size"] = $res["thumbnail_size"];
echoRespnse(200, $response);
}
} else {
$response["message"] = "response contain no data";
echoRespnse(200, $response["message"]);
}
} else {
$response ["error"] = true;
$response ["message"] = "Please select a file to upload";
echoRespnse(200, $response);
}
});
Скажите, пожалуйста, почему эскиз видео uploded белый и как я могу получить видео крышку.
Возможно, мне что-то не хватает, но где код, который генерирует ваше уменьшенное изображение? –
http://stackoverflow.com/questions/31623754/create-video-thumbnail-in-slim?noredirect1_comment51195936_31623754. Это код, который я использую для создания эскиза –