Я использую плагин jquery-gdrive для выбора изображения, файла, документов с диска Google, и он возвращает URL-адрес. из url я сохраняю изображение на своем локальном диске, если я попытаюсь открыть изображение, показывающее недопустимое изображение, то же самое для выбора Dropbox также, как решить эту проблему?
вот мой URL-адрес google-gdrive://DSC_0031.jpg/0Bx-Ck9De1dkOeExfT1o2SEZWNDQ вот мой URL-адрес выбора Dropbox - https://www.dropbox.com/s/ruqu1bfrs371ntj/spokeless-bike.jpg?dl=0
<html>
<head>
</head>
<body>
<form name="imageUpload" action="" method="POST" enctype="multipart/form-data">
<input id="gdrive_file" type="text" name="imageToUpload"> <a href="#" id="gdrive_file_selector">Select file</a><br/>
<div class="submitBtn">
<input type="submit" name="submit" value="SUBMIT">
</div>
</form>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript" src="//apis.google.com/js/client.js"></script>
<script type="text/javascript" src="../jquery-gdrive.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$().gdrive('init', {
'devkey': 'xxxxxxxxxxxxxx',
'appid': 'xxxxxxxxxxxxxxx'
});
$('#gdrive_file').gdrive('set', {
'trigger': 'gdrive_file_selector',
'header': 'Select a file',
'filter': ''
});
$('#gdrive_folder').gdrive('set', {
'trigger': 'gdrive_folder_selector',
'header': 'Select a folder',
'filter': 'application/vnd.google-apps.folder'
});
});
</script>
</body>
<?php
$image = $_POST['imageToUpload'];
$s = basename($image);
file_put_contents("uploads/$s", file_get_contents($image));
?>
вот мой код выбора Dropbox
<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="6s50p5csnfjties"></script>
<!-- Replace data-app-key with yours -->
</head>
<body>
<form action="" method="POST">
<input type="dropbox-chooser" name="selected-file" id="db-chooser"/>
<input type="submit" name="submit" id="sub" value="Submit" />
</form>
</body>
<script type="text/javascript">
$("#db-chooser").on('DbxChooserSuccess',function(event)
{
alert("Here the chosen file: " + event.originalEvent.files[0].link);
console.log(event.originalEvent.files[0].link);
});
https://www.dropbox.com/s/ruqu1bfrs371ntj/spokeless-bike.jpg?dl=0 не является ссылкой на изображение. Это ссылка на веб-страницу с изображением на ней. Существует два способа получить нужную ссылку:
?raw=1
) См. Https://www.dropbox.com/help/201, чтобы узнать об общих ссылках и способах их преобразования в ссылки на прямые ссылки на контент.# 2, вероятно, лучший вариант, так как он не имеет побочного эффекта совместного использования файла. (С ссылкой "Предварительный просмотр" пользователь увидит, что новая общая ссылка была создана при посещении www.dropbox.com/links.)
gdrive://
кажется, происходит от плагина jQuery, называемого jquery-gdrive
. Вы можете спросить автора этой библиотеки?
Вы также можете попробовать этот https://www.dropbox.com/s/ruqu1bfrs371ntj/spokeless-bike.jpg?dl=1, который используется для загрузки файла, просто отметьте с помощью https://www.dropbox.com/помощь/201.
Если вы открываете URL-адрес Dropbox в сеансе "inprivate" или в новом браузере, который не входит в систему для удаления, вы увидите, что вам будет предложено войти в Dropbox, прежде чем вы сможете получить доступ к изображению.
Веб-сервер (который запускает PHP-код) не входит в Dropbox и, скорее всего, получит и загрузит страницу входа, а не изображение.
URL-адрес Google Drive не является допустимым URL-адресом, поскольку он начинается с gdrive://. Ваш веб-сервер не имеет понятия, как его использовать.