PDA

Visualizza la versione completa : JavaScript ed MVC


Genialtek
19-02-2017, 11:26
Ciao a tutti, spero di aver azzeccato la sezione del forum.
Ho il seguente codice che funzione bene, praticamente visualizza subito il file nella schermata.
Quello che mi serve e che con altri metodi non riesco � avere in una label il nome del file, in modo da mandarlo alla model e salvarlo nel DB.


@{
ViewBag.Title = "Create";
<script>
function readURL(input) {


if (input.files && input.files[0]) {
var reader = new FileReader();


reader.onload = function (e) {
$('#blah').attr('src', e.target.result);
}


reader.readAsDataURL(input.files[0]);

}
}


$("#imgInp").change(function () {
readURL(this);
});




</script>
}
<div class="row">
<br />
<br />


<!--<img src='<%= Url.Action("Show", "filex",new {id = Model.itemid }) %>' />-->
<input type="file" accept="image/*" onchange="loadFile(event)">
<img id="output" />
<label id="output" />
<script>
var loadFile = function(event) {
var output = document.getElementById('output');
output.src = URL.createObjectURL(event.target.files[0]);

var nomefile = document.getElementById('output');

nomefile = event.target.files[1];
};
</script>


</div>

Pensavo : @Html.LabelFor(model => model.nomefile, htmlAttributes: new { @class = "control-label col-md-2" }) <-- in questa label volevo mettere il nome del file da tornare al controller

Grazie

cavicchiandrea
19-02-2017, 12:35
A) id devono essere univoci tu hai due id output
B) il nome del file passalo alla funzione loadFile(event,tris.value)
:ciauz:

Genialtek
19-02-2017, 21:47
Ciao, grazie della risposta, in effetti pensavo che l'ID fosse il modo per visualizzare la variabile... :)
Intanto ci provo grazie

Loading