function assignFilePreviews() {
$( 'input[data-previewable=\"true\"]' ).change(function() {
var prvCnt = $(this).attr('data-preview-container');
if(prvCnt) {
if (this.files && this.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
var img = $('<img>');
img.attr('src', e.target.result);
img.error(function() {
$(prvCnt).html('');
});
$(prvCnt).html('');
img.appendTo(prvCnt);
}
reader.readAsDataURL(this.files[0]);
}
}
});
}
$(document).ready(function() {
assignFilePreviews();
});
HTML
<input type="file" data-previewable="true" data-preview-container=".prd-img-prv" />
<div class = "prd-img-prv"></div>
Это также обрабатывает случай, когда выбран файл с недопустимым типом (например, pdf)
Я считаю, что Git на Dropbox - это здорово. Я использую его все время. У меня есть несколько компьютеров (два дома и один на работе), на которых я использую Dropbox в качестве центрального репозитория. Поскольку я не хочу размещать его в общедоступной службе и у меня нет доступа к серверу, на который я всегда могу использовать ssh, Dropbox позаботится об этом, синхронизируя (очень быстро) в фоновом режиме.
Настройка выглядит примерно так:
~/project $ git init
~/project $ git add .
~/project $ git commit -m "first commit"
~/project $ cd ~/Dropbox/git
~/Dropbox/git $ git init --bare project.git
~/Dropbox/git $ cd ~/project
~/project $ git remote add origin ~/Dropbox/git/project.git
~/project $ git push -u origin master
Оттуда вы можете просто клонировать ~ / Dropbox / git / project.git
, который вы связали со своей учетной записью Dropbox (или поделились этим каталогом с людьми), вы можете выполняйте все обычные операции Git, и они будут автоматически синхронизированы со всеми другими вашими машинами.
Я написал сообщение в блоге, On Version Control ,
На MacOS можно также просто остановить Dropbox, внести изменения и затем повторно запустить Dropbox. Я использую следующую комбинацию и довольно доволен ею:
и В (Ваш локальный мерзавец управлял каталогом проекта и в Вашим удаленным репозиторием мерзавца, расположенным на Dropbox) выполняет следующую команду для отключения автоупаковки (который является основной проблемой с синхронизацией Dropbox)
git config --global gc.auto 0
Затем время от времени, сожмите репозитории с отключенным Dropbox. Например, я делаю следующее в своем сценарии сборки удара каждый раз, когда я делаю новые релизы своих приложений.
osascript -e "tell application \"Dropbox\" to quit"
# Compress local
git gc --prune=now; git repack -a -d
# Compress remote
REPOS_DIR_REMOTE=`git remote get-url --push origin`
cd "${REPOS_DIR_REMOTE}"
git gc --prune=now; git repack -a -d
osascript -e "tell application \"Dropbox\" to launch"
osascript -e "display notification with title \"Compress Done\""
Я не думаю, что использование Git и Dropbox - лучший вариант ... Просто подумайте об особенностях обоих:
Git:
Dropbox:
И если вы беспокоитесь о том, чтобы поделиться некоторыми своими файлами, почему бы не зашифровать их? И тогда вы сможете получить самое большое преимущество Dropbox перед Git, то есть иметь общедоступные и частные файлы ...
Мы используем этот метод (создание чистого репозитория в Dropbox) в общей папке .
Небольшая группа разработчиков может извлечь из этого синхронизированного репозитория и создать локальный клон. Как только единица работы выполнена, мы возвращаемся в исходную точку.
Одна вещь, которую мне не хватает, - это хороший способ получить электронное письмо с информацией о наборе изменений после того, как произойдет push to origin. Мы используем Google Wave для отслеживания изменений вручную.