Sanırım böyle bir olay mümkün degil.
Ama olsaydı benim de bir çok yerde işime yarardı.
benim sorum şu. örnegin html bi sayfayı internet explorer dan farklı kaydet deyip tek dosya halinde mht uzantısında kaydettiginde imaj dosyasını içine gömüyor ascii olarak sanırım. bunu html içinde uygulamak nasıl olabilir? veya mümkünmüdür başka yollar ile. amacım tek dosya ile image larıda içinde gösterebilmek.
teşekkürler.
Sanırım böyle bir olay mümkün degil.
Ama olsaydı benim de bir çok yerde işime yarardı.
Var ya, olmaz olur mu? Image dosyasını Base64 yönetmiyle şifreledikten sonra img etiketinde bir iki değişiklikle bu mümkün. Şöyle ki:
Kodu html olarak kaydettikten sonra Firefox ve benzeri browser'larda görüntülemek istediğinizde bir resim görürsünüz. Ama aynı yöntemi IE'nin desteklediğini söyleyemem. Buna benzer ama farklı bir yöntemle bununda sırrı çözülmüş. PHP'den anlamadığım için üstünde durmamıştım, kodları ASP'ye çevirmek istedim ama PHP'yi tam bilmediğim için yapamadım.Kod:<IMG SRC="data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH hhx4dbgYKAAA7" ALT="Larry">
http://dean.edwards.name/my/base64-ie.html
Bu sayfada aynı yöntemle IE'de de görüntülenen resim oluşturmuşlar. İncelemenizi tavsiye ederim...
bu olayı bende bir blogdan buldum. ama dediğin gibi internet explorerda calışmıyor. RFC 2321 standartında calısıormuş. neyse biraz daha bakalım![]()
Vaybe bir an, bununla neler yapabilecegimi düşündümde....
Bu konuyu birazda açığa kavuştursak iyi olacak.
IE için yaptıkları resmen yama yaw.
o şekilde hiçbir işe yaramazki bu
my/base64.php?.....vs şeklinde gönderiyor resmi php sayfasında cozup geri donderiyor.
acaba IE bu işler için bir şey hazırlamışmıdırki?
Ben bir ara çokça aradım ama bulabildiğim en iyi sayfalar yukarıda linkini verdiklerim. Daha faydalı olabileceğini düşündüğünüz başka kaynak bulabilirseniz bundan benide haberdar edin isterim...
PHP ile kullanirsaniz tarayici bazli herhangi bir problem cikmaz.
Grafiklerin base64 icerigini almak icin :
Sayfada gostermek istediginiz zaman , grafik.php?ID=1 ID=2 gibi yapıp göstermek istediğiniz yerde <img src='grafik.php?ID=1'> gibi gösterebilirsiniz.PHP Kodu:<form method='post' action='<?=$_SERVER['PHP_SELF']?>' enctype='multipart/form-data'>
<input type=file name=grafik><input type=submit></form>
<pre>
<?
$icerik = file_get_contents($_FILES['grafik']['tmp_name']);
echo base64_encode($icerik);
?>
<pre>
Aynı işi ASP'de yapmak isterseniz base64 encode / decode fonksiyonlari built-in olarak gelmiyor.Ama hazır yazılmış fonksiyonları var nette.PHP Kodu:<?
ob_start();
## Grafikleri tanimla ##
$grafik1 = "base64'lenmis grafik icerigi";
$grafik2 = "base64'lenmis grafik icerigi";
## uri'den gelen veriye göre resimleri göster ##
if($_GET['ID'] == '1') {
header('Content-type: image/png'); # content-type değişmeli dosyaya göre
echo(base64_decode($grafik1));
exit();
}
## İkinci resim ##
if($_GET['ID'] == '2') {
header('Content-type: image/jpeg'); # content-type değişmeli dosyaya göre
echo(base64_decode($grafik2));
exit();
}
## uzar..
ob_end_flush();
?>
Yine ayni mantikla ekrana basmadan Response.ContentType="image/xxx" kullanılacak.Kod:' Functions to provide encoding/decoding of strings with Base64. ' ' Encoding: myEncodedString = base64_encode( inputString ) ' Decoding: myDecodedString = base64_decode( encodedInputString ) ' ' Programmed by Markus Hartsmar for ShameDesigns in 2002. ' Email me at: mark@shamedesigns.com ' Visit our website at: http://www.shamedesigns.com/ ' Dim Base64Chars Base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _ "abcdefghijklmnopqrstuvwxyz" & _ "0123456789" & _ "+/" ' Functions for encoding string to Base64 Public Function base64_encode( byVal strIn ) Dim c1, c2, c3, w1, w2, w3, w4, n, strOut For n = 1 To Len( strIn ) Step 3 c1 = Asc( Mid( strIn, n, 1 ) ) c2 = Asc( Mid( strIn, n + 1, 1 ) + Chr(0) ) c3 = Asc( Mid( strIn, n + 2, 1 ) + Chr(0) ) w1 = Int( c1 / 4 ) : w2 = ( c1 And 3 ) * 16 + Int( c2 / 16 ) If Len( strIn ) >= n + 1 Then w3 = ( c2 And 15 ) * 4 + Int( c3 / 64 ) Else w3 = -1 End If If Len( strIn ) >= n + 2 Then w4 = c3 And 63 Else w4 = -1 End If strOut = strOut + mimeencode( w1 ) + mimeencode( w2 ) + _ mimeencode( w3 ) + mimeencode( w4 ) Next base64_encode = strOut End Function Private Function mimeencode( byVal intIn ) If intIn >= 0 Then mimeencode = Mid( Base64Chars, intIn + 1, 1 ) Else mimeencode = "" End If End Function ' Function to decode string from Base64 Public Function base64_decode( byVal strIn ) Dim w1, w2, w3, w4, n, strOut For n = 1 To Len( strIn ) Step 4 w1 = mimedecode( Mid( strIn, n, 1 ) ) w2 = mimedecode( Mid( strIn, n + 1, 1 ) ) w3 = mimedecode( Mid( strIn, n + 2, 1 ) ) w4 = mimedecode( Mid( strIn, n + 3, 1 ) ) If w2 >= 0 Then _ strOut = strOut + _ Chr( ( ( w1 * 4 + Int( w2 / 16 ) ) And 255 ) ) If w3 >= 0 Then _ strOut = strOut + _ Chr( ( ( w2 * 16 + Int( w3 / 4 ) ) And 255 ) ) If w4 >= 0 Then _ strOut = strOut + _ Chr( ( ( w3 * 64 + w4 ) And 255 ) ) Next base64_decode = strOut End Function Private Function mimedecode( byVal strIn ) If Len( strIn ) = 0 Then mimedecode = -1 : Exit Function Else mimedecode = InStr( Base64Chars, strIn ) - 1 End If End Function
Enson 28/10/2005 22:13 tarihinde Yns tarafından düzenlenmiştir.
Keşke bu iş IE de de Server ile alaka kurmadan olabilseydi.
Sanırım bu şekilde pek te işimize yaramaz.
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks