каждый,
Я пытаюсь работать с загрузкой изображений на свой сайт, и я успешно заставил его работать, однако мне нужно расширить функциональность за пределы одного простого изображения. В примерах, которые я видел, используется помощник по файлам WebMatrix (помощник по файлам? Верно? Ну, это своего рода помощник, который автоматически рисует html, необходимый для поля input=type"file"). Строка кода у меня есть в виде:
@FileUpload.GetHtml(initialNumberOfFiles:1, allowMoreFilesToBeAdded:false, includeFormTag:false)
Строка кода, которую я имею в (IsPost):
var UploadedPicture = Request.Files[0];
if(Path.GetFileName(UploadedPicture.FileName) != String.Empty)
{
var ContentType = UploadedPicture.ContentType;
var ContentLength = UploadedPicture.ContentLength;
var InputStream = UploadedPicture.InputStream;
Session["gMugshot"] = new byte[ContentLength];
InputStream.Read((byte[])Session["gMugshot"], 0, ContentLength);
}
else
{
Session["gMugshot"] = new byte[0];
}
Дополнительный код в (IsPost) после этого сохраняет его в базе данных как двоичные данные, и я могу вернуть изображение на страницу из этого (у меня нет желания сохранять фактические файлы изображений в папке на сервере и использовать GUID и т. д. и т. д. Двоичные данные — это хорошо, и я думаю, что они занимают намного меньше места).
Я настроил его для прокрутки изображений с возможностью щелчка с помощью jQuery для считывания щелчков созданных вручную кнопок, а затем скрытия и отображения div, содержащих изображения, визуализированные C # (что получает их от чтения базы данных). Извините, если это немного TMI, просто пытаюсь быть тщательным, но уточнить вопрос: я еще недостаточно знаю о загрузке файлов, чтобы знать, как хорошо работать с загруженными данными. Я попытался изучить эту информацию, но не нашел никакой информации, которая показалась бы мне актуальной (на самом деле, я вообще не нашел много полезной информации о типе ввода = "файл" или методе FileUpload).
Было бы лучше использовать input type="file" id="pic1id"? Есть ли что-то, что я могу использовать, например Request.Files["pic1id"], которое могло бы получить файл из идентификатора входного элемента? Или программа просто берет все загруженные файлы, складывает их в логистическую группу где-то в ожидании вызова по индексу вроде этого: "Request.Files[0]". Если да, то в каком порядке ставится индекс? Нужно ли использовать Request.Files.Count для проверки количества загруженных файлов, прежде чем я начну работать с данными?
Обратите внимание, что мне нужны отдельные поля ввода type="file" (независимо от того, построены ли они помощником или нет). Я не хочу принимать несколько файлов в один вход (в основном из-за недостатка знаний, например, я боюсь, что не буду знать, как работать с данными). На данный момент планируется, что отдельные поля input type="file" будут находиться внутри div, которые будут скрыты/отображены при прокрутке изображений, поэтому каждое изображение (пробел) будет иметь свое собственное поле input type="file". Скрытие и отображение элементов div, отображение (одного) изображения, сохранение и получение двоичных данных из базы данных, а также выбор заполнителей изображений — все это прекрасно работает. В значительной степени мне просто нужно знать, как работать с более чем одним загруженным изображением за раз для хранения в их отдельных полях «изображения» базы данных.
Любые примеры синтаксиса, которые мне нужно использовать, будут высоко оценены.
Извините, что так много вопросов, но я просто не мог найти много полезной информации по этому поводу.
Спасибо всем, кто пытается помочь!