1. Строка в растровое изображение
String content = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAAAmCAYAAACoPemuAAAABGdBTUEAALGPC/xhBQAABURJREFUWAnNWFtMXFUU3XcKBHBmiMZERRmIAuqXtcbE1A/7EDE24iPGxGj88MtHP/TDRzR8gYmPRP1Sv4lKYpqgxBqFWtuAVNJE/VIrmMBAWySNAjMF5HHHte6cPTlzZi4MUxrZyWHvsx9rL849986515PypAJlUYwaDNo6YMqaNZZgp80c6vJIBLBXYiTa29v3DA0NvTAzM/PZwsLCyeXl5TPr6+spDtr0McYc5rLG1BJj28QDUhzjxsHBwWfQ9ITv+6uZEoW5rGEtMQwWMS9JKlHd2NPT82gqlTpVIpfQNGIQi5gYxC5LauLxeEsymfwotFOZAWISG6y4R7ck8ba2tt1zc3PHyuy9aRmx2QOsuE0KpNi1rkHBzf39/b3V1dW3FFQYx9g/Il//mZGB6YxMXszIFO+/jEhDrUjTFZ603eDJAzd50sLbJURwo/ze0dHxBPbfGaQQIScusUoscROXuq6u7mAuyzJ+/kvkjRFfvjnvZ72KAFLi2vDdf11E3twbkduvsUAsc35+/rtEIvEcbpAJuFc1pFCc006A1GsNDQ3PaoLqdTR59YQv7/+WwcKQReniAfqlWz15e19EdtkdDcTU1NTHIPcWpkmMANx+rsRwx9xRjNTcvyKHvvDlvV99webJlrI8bLChxmiihrXEIJYr7Mne8Mc0pvxJsAm386fRaPQuDVJzpQ71+TKgl84OlmHfh0t79JHClUun0z/GYrEnATmB4euK1WED7nNJse/L34PUOewnXYFL1MQipivsTQ7w1zGmK5bA5usB43voVPkJG/3OI+uS8ckGwmyatqbf9emcMYop1zov4snpx3bJHueGwBU7iZvvaVQkuWIV+D27GozvJoYtrw9jTykpBrSBrW3bzWFM41aMmMR2hRzIBf4KEot2dnbu9TyPJ4Sc/PG3yMBZU6wNVDOrmK0+W9u56oeP2HwW2kIO5AJflMRqWltbC1brKB6egRiVnZi/ts+285KK5Grc1Hw1Xljc3NxMLjXBpcQTvl5rVA8kUcS6yziCHtrQ6NraWnIJLmVFVVXVtU5cJtOGGAMkR7FJ6ly1nUMfxfU59ZMpTcim86/hUhGcPCsrKwtWbPqiSdZa1Yqhc9X0q606zGf804s08sVwCVaMERsqm1noyUfYhpmnD6t8rKAz99ja6urq+fyYyPU4JeRdOqZv86ivdrviVzzLZS0gtrKyMuOmNMasf0dXz9a2zWJ7rraC6tzWsPN6mFzDJUtscXHxrGKobkuAGIFsMAZ1btvqU60xztXnaoSCHsy1xHAJiC2Nj4+PWLHAfLDZIUavNrJ1mN/NKZLX0WJdFcYhY2NjP0At8VKmu7q6RnA04ftgTlqvEjnYwDBEm2Rn+X8Z20yK1BPbPd2SQ3d39ynApZVy+I/4J/gR5xlsGwU/PXL6qc1/xNkyNTo62uP25q//4dsMd5ebO9di2x9iE9M9WbDccEjR1hXjNQs9KLZ/7svxZOFpgABblQOJiHz7eOkHRXa90NfX967biGf0Iw9HZD8Ac3uNK6GDBboy6rPnGoePGMQqdu43vS8gPVgBXTGW097wZeTFY758+AteRba457innt/tyQf3FidV7GXEJkZym76+8VT7Co7GxydLu7QHGiPyzv5I0T3FhqW8vjGPUtILLw+SX45lZHAiI8mFjJzjxyZIPT5OJeJ44W3y5CE8p/jYCZONXnjDav73TwRhxOjfkR9VlDA/Fe24z1BKjjfIjvtwp+So+RDOfeocHh4+PDs724v30bBPnb3MKfdTp/u4sIlsZPNIflk/Dv8H0I4Y2Oy/OicAAAAASUVORK5CYII=";
try {
byte [] encodeByte=Base64.decode(content ,Base64.DEFAULT);
Bitmap bitmap=BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
return bitmap;
} catch(Exception e) {
e.getMessage();
return null;
}
2. Битовая карта в строку
public String BitMapToString(Bitmap bitmap){
ByteArrayOutputStream baos=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG,100, baos);
byte [] b=baos.toByteArray();
String temp=Base64.encodeToString(b, Base64.DEFAULT);
return temp;
}
Просто добавьте new Date().getTime()
конец ссылки так же как требование
'https://stackoverflow.com/questions.php?' + new Date().getTime()
Выход: https://stackoverflow.com/questions.php?1571737901173
просмотр Причины прячет ту же ссылку про запас, Вы должны добавить конец случайного числа ссылки. new Date().getTime()
производят другое число.
Попробуйте изменить src файла JavaScript? Отсюда:
<script language="JavaScript" src="js/myscript.js"></script>
На это:
<script language="JavaScript" src="js/myscript.js?n=1"></script>
Этот метод должен заставить ваш браузер загружать новую копию файла JS.
Вы не можете очистить кеш с помощью javascript. Обычный способ - добавить в файл номер редакции или отметку времени последнего обновления, например:
myscript.123.js
или
myscript.js? Updated = 1234567890
Я обычно изменяю версию своего фреймворка, а затем применяю номер версии к путям скриптов и стилей
<cfset fw.version = '001' />
<script src="/scripts/#fw.version#/foo.js"/>
Вы также можете принудительно перезагружать код каждый час, например, в PHP:
<?php
echo '<script language="JavaScript" src="js/myscript.js?token='.date('YmdH').'">';
?>
или
<script type="text/javascript" src="js/myscript.js?v=<?php echo date('YmdHis'); ?>"></script>
Вот фрагмент того, что я использую для своего последнего проекта.
С контроллера:
if ( IS_DEV ) {
$this->view->cacheBust = microtime(true);
} else {
$this->view->cacheBust = file_exists($versionFile)
// The version file exists, encode it
? urlencode( file_get_contents($versionFile) )
// Use today's year and week number to still have caching and busting
: date("YW");
}
С точки зрения:
<script type="text/javascript" src="/javascript/somefile.js?v=<?= $this->cacheBust; ?>"></script>
<link rel="stylesheet" type="text/css" href="/css/layout.css?v=<?= $this->cacheBust; ?>">
В процессе публикации создается файл с ревизией номер текущей сборки. Это работает путем кодирования URL-адреса этого файла и использования его в качестве средства блокировки кеша. В качестве отработки отказа, если этот файл не существует, используются год и номер недели, чтобы кеширование продолжало работать, и оно будет обновляться не реже одного раза в неделю.
Кроме того, это обеспечивает очистку кеша для каждой страницы. загружать в среде разработки, чтобы разработчикам не приходилось беспокоиться об очистке кеша для любых ресурсов (javascript, css, вызовы ajax и т. д.).
В зависимости от среды сборки можно запустить dotless.Compiler.exe
в качестве задачи сборки.
Например, использование задачи Pre-Build в Visual Studio (all 1 line):
$(SolutionDir)Tools\dotLess\dotless.compiler.exe -m
$(ProjectDir)content\css\site.less $(ProjectDir)content\css\site.css
Макросы ( $ (SolityDir)
и т.д.) обеспечивают некоторую гибкость при проектировании и размещении файлов. Вместо использования стандартных файлов .less
просто ссылайтесь на новые файлы .css
в разметке.
Для перезагрузки текущей страницы можно вызвать window.location.reload (true) . Он игнорирует все кэшированные предметы и извлекает новые копии страницы, css, изображений, JavaScript и т.д. с сервера. Это не очищает весь кэш, но приводит к очистке кэша для страницы, на которой вы находитесь.
Однако лучшей стратегией является версия пути или имени файла, как указано в различных других ответах. Кроме того, см. Revving Filenames: не используйте строку запросов по причинам, не использующим ? v = n
в качестве схемы управления версиями.