Я хочу иметь загрузку изображения на моей странице, и у меня есть это.JQuery для получения имени файла изображения, выбранного из входного файла
@using (Html.BeginForm())
{
<img id="sp" src="/Student/RetrieveImage" alt="Photo" height=100 width=200 />
<input type="file" name="ImageData" id="ImageData" onchange="DI()" value="Upload" />
<input type="submit" name="submitButton" id="submitButton" value="Upload" formaction="/Student/Upload" formmethod="post" class="btn btn-primary" />
}
Изображение обновляется по мере того, как пользователь выбирает файл, используя функцию javascript DI(). Это прекрасно работает.
<script>
function DI() {
var oFReader = new FileReader();
oFReader.readAsDataURL(document.getElementById("ImageData").files[0]);
oFReader.onload = function (oFREvent) { document.getElementById("sp").src = oFREvent.target.result };
};
$(document).ready(function() {
$('.ImageData').change(function() {
$('.path').text($(this).files[0].name);
});
});
</script>
@Html.TextBoxFor(model => model.Photo, new { htmlAttributes = new { @class = "form-control", @id="path"} })
Что не работает, я хочу, чтобы связать имя файла, выбранного для помощника TextBoxFor для поля фотографии, так что я могу сохранить его в базу данных. Лучше привязать имя файла к полю фотографии, не устанавливая значение для помощника TextBoxFor, если это возможно. Как я могу это достичь? И если мне нужно установить значение для помощника TextBoxFor, как я могу это сделать? Jquery, который я написал, не работает.
элемент с 'ID = "путь"' является входным сигналом, который не имеет '.text()' свойство - это необходимо будет '$ ('путь.') вал. ($ (это) .files [0] .name); '. Но его непонятно, что вы пытаетесь сделать здесь - почему вы не просто получаете имя файла в методе POST при загрузке файла? –
Я изменил .text() на .val(), все еще не работая. Я хочу установить значение элемента TextboxFor, потому что он привязан к свойству фотографии студента модели, поэтому я могу сохранить его в базе данных. –
Когда файл загружен, вы имеете имя файла (свойство 'FileName'' HttpPostedFileBase'), так в чем же смысл этого? –