2012-10-19 68 views
2

現在,我正在爲我的學習開發多媒體項目。任務是創建一個衆籌平臺。我的問題是「創建項目」頁面上的本地預覽圖像。我用了論壇搜索和跨越這來了:使用JavaScript和HTML5的PreviewImage

http://www.xul.fr/en/html5/filereader.php

我複製的代碼,並把它放在我的HTML/JS文件是這樣的:

這是我的HTML代碼至今:

<div class="header"> 
ICH BIN DER HEADER, HIER KOMMT HEAD-KRAM REIN 
</div> <!-- HEADER GESCHLOSSEN --> 

<!-- -------------------------1------------------------------- --> 

<div class="slideshow"> 

    <div id="titelbild"> 

     <input type="file" id="getimage"> 
     <fieldset><legend>Your image here</legend> 
     <div id="imgstore"></div> 
     </fieldset> 

    </div> <!-- TITELBILD GESCHLOSSEN --> 

    <div id="projektinfos"> 

     <input type="text" id="titel" maxlength="60" value="Titel" onFocus="if(this.value=='Titel') this.value='';" onBlur="if(this.value=='')this.value='Titel';"> 

     <select id="rewardfarbe"> 
      <option selected>Kategorie wählen </option> 
      <option>Rot   </option> 
      <option>Grün  </option> 
      <option>Blau  </option> 
     </select> 

     <input type="text" class="textbox" maxlength="60" value="Betrag" onFocus="if(this.value=='Betrag') this.value='';" onBlur="if(this.value=='')this.value='Betrag';"> 
     <input type="text" class="textbox" maxlength="60" value="Ort" onFocus="if(this.value=='Ort') this.value='';" onBlur="if(this.value=='')this.value='Ort';"> 


    </div> <!-- PROJEKTINFOS GESCHLOSSEN --> 

</div> <!-- SLIDESHOW GESCHLOSSEN --> 

<!-- -------------------------2------------------------------- --> 

<div id="details"> 
</div> 

<!-- -------------------------3------------------------------- --> 

<div class="footer"> 
</div> 

而我的JavaScript代碼:

<script> 
function imageHandler(e2) 
{ 
    var store = document.getElementById('imgstore'); 
    store.innerHTML='<img src="' + e2.target.result +'">'; 
} 

function loadimage(e1) 
{ 
    var filename = e1.target.files[0]; 
    var fr = new FileReader(); 
    fr.onload = imageHandler; 
    fr.readAsDataURL(filename); 
} 

window.onload=function() 
{ 
    var x = document.getElementById("filebrowsed"); 
    x.addEventListener('change', readfile, false); 
    var y = document.getElementById("getimage"); 
    y.addEventListener('change', loadimage, false); 
} 
</script> 

我的CSS-代碼:

.body { 

    width: 1280px; 
    height: 2000px; 
    background-image:url(images/fabric_patterns_2_source_SMALL.jpg); 

} 

/* -------------------------0------------------------------- */ 

.header { 

    margin: auto; 
    width: 900px; 
    height: 80px; 
    background-color:#FFBD91; 

} 

/* -------------------------1------------------------------- */ 

.slideshow { 

    margin: auto; 
    width: 1024px; 
    height: 300px; 
    background-color: #ACB6FF; 

} 

#titelbild { 

    float: left; 
    width: 400px; 
    height: 300px; 
    background-image:url(images/bildhinzufuegen.gif); 

} 

#titelbildhinzufuegen { 

    width: 400px; 
    height: 300px; 
    opacity: 0; 

} 

#projektinfos { 

    float: right; 
    width: 624px; 
    height: 300px; 
    background-color:#B6FF98; 

} 

/* -------------------------2------------------------------- */ 

#details { 

    margin: auto; 
    width: 900px; 
    height: 1500px; 
    background-color: #C0E3FF; 

} 

#titel { 

    font-family: Helvetica,Verdana,Arial,sans-serif; 
    font-size: 18px; 
    margin-left: 112px; 
    margin-top: 20px; 
    width: 400px; 
    height: 50px; 

} 

#rewardfarbe { 
    width: 200px; 
    height: 50px; 
    margin-top: 20px; 
    margin-left: 312px; 

} 

.textbox { 

    font-family: Helvetica,Verdana,Arial,sans-serif; 
    font-size: 18px; 
    margin-left: 312px; 
    margin-top: 20px; 
    width: 200px; 
    height: 50px; 

} 


/* -------------------------3------------------------------- */ 

.footer { 

    margin: auto; 
    width: 900px; 
    height: 80px; 
    background-color: #B0BAFF; 

} 

就像我說的,我複製代碼直接從我的文章的開頭的鏈接,但它不會工作...我不明白它。是否有可能,這必須在真正的服務器上運行,因爲現在,我正在使用XAMPP測試我的所有工作。

+0

你會得到什麼錯誤?,你在使用什麼瀏覽器?另請參閱https://developer.mozilla.org/en-US/docs/DOM/FileReader#Example – Musa

+0

問題是readfile未在您的JavaScript代碼中定義。 –

+0

我沒有得到任何錯誤,我看到按鈕,我可以選擇一個文件,但圖像不會出現。我測試的瀏覽器是Chrome,Firefox和Safari的最新版本。 – Nik

回答

1

您的代碼不完整,因此無法使用。這不是一個jsfiddle問題。您可以在this HTML5rocks page找到關於您正在嘗試執行的操作的很好的文檔。其實代碼非常相似。

你也可以看看this nice replay在另一個類似的問題。它有一個工作的例子。

+0

謝謝你的幫助。我現在會閱讀這個。這愚蠢的預覽事情驅使我堅果:D – Nik

+0

這正是我需要的。你讓我今天一整天都感覺很好! – Nik

+1

@Nik很高興聽到^^我在答案中增加了另一個鏈接。這將非常有用。 –