несколько загрузок изображений на c # / jquery - PullRequest
2 голосов
/ 24 августа 2009

существует ли возможность многократной загрузки изображений, чтобы пользователи могли легко загружать изображения, например, загрузчик файлов activex на Facebook.

но бесплатно:)

Я обновляю свои вопросы. Я видел, что все рекомендуют насчет флэш-загрузчика. у меня проблема в том, что я использую сеансы, я передаю идентификатор альбома пользователя для связи с загруженным изображением и идентификатор пользователя, который загрузил изображение

это код на первой странице

  <div id="divUploadImage" style="display: none;">
                    <FlashUpload:FlashUpload ID="flashUpload" runat="server" UploadPage="Upload2.axd"
                        OnUploadComplete="UploadComplete()" FileTypeDescription="Images" FileTypes="*.gif; *.png; *.jpg; *.jpeg"
                        UploadFileSizeLimit="3000000" TotalUploadSizeLimit="40000000" />
                    <asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton>
                </div>

и код после загрузки на второй странице

public void ProcessRequest(HttpContext context)
        {

  for (int j = 0; j < context.Request.Files.Count; j++)
                {

 HttpPostedFile uploadFile = context.Request.Files[j];
  SaveImages(uploadFile, "", albumid,out returnPhotoId); // my function to save ,albumId is the session
                 }
}

спасибо

Ответы [ 4 ]

8 голосов
/ 24 августа 2009

Попробуйте использовать uplodify . Он также использует вспышку, и я очень рекомендую это. Это настраиваемый и бесплатный продукт.

Для отправки на другую страницу после загрузки всех файлов:

Создайте 3 скрытых поля примерно так:

<asp:HiddenField runat="server" ID="hdf_UserID" name="hdf_UserID"  />
<asp:HiddenField runat="server" ID="hdf_AlbumID" name="hdf_AlbumID" />
<asp:HiddenField runat="server" ID="hdf_ImageFiles" name="hdf_ImageFiles" />

и вот как вы настроили свою кнопку для публикации на второй странице:

<asp:Button runat="server" ID="btn_Submit" PostBackUrl="YourPage.aspx" />

Однажды на второй странице вы можете получить информацию из запроса следующим образом:

Request["hdf_UserID"].ToString()
Request["hdf_AlbumID"].ToString()
Request["hdf_ImageFiles"].ToString()

Вы можете хранить все файлы в скрытом поле, и я бы порекомендовал | разделенный тогда вы можете просто сделать .split на другой странице

Для страницы .ahx загрузчика загрузки:

с помощью опции scriptData вы можете передавать информацию на вторую страницу.

 var auth = "<% = Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>"
 var user = $('[id$=hdf_UserID]').val();
 var album = $('[id$=hdf_AlbumID]').val();

 $('[id$=fileInput]').uploadify({
        'uploader': '../Uploadify/uploadify.swf',
        'script': '../Uploadify/Upload2.ashx',
        'scriptData': {'Token': auth, 'User': user, 'Album': album},

в .ashx загрузки вы можете получить scriptData следующим образом:

string user = context.Request["User"];
string album = context.Request["Album"];

Этот код предназначен для конкретной загрузки, но, надеюсь, он поможет вам понять ваш

1 голос
/ 24 августа 2009

Я успешно использовал Uploadify с ASP.NET MVC для создания многофайлового сценария загрузки с автоматическим предварительным просмотром изображений, встроенных в AJAX. Следует помнить одну вещь, если вы используете переменные Session в своем действии загрузки, на которое воздействует SWFUpload / Uploadify, это то, что Flash получает свой собственный SessionID и все, что помещается в Session после размещения запроса на загрузку Flash в Flash сессия.

1 голос
/ 24 августа 2009

Я использовал библиотеку, расположенную в http://www.codeproject.com/KB/aspnet/FlashUpload.aspx для моего проекта. Он довольно легкий и хорошо поддается модификации.

По сути, это многофайловый загрузчик, написанный на Flex. Достаточно просто, что вы также можете открыть код и внести изменения, если вам нужно.

1 голос
/ 24 августа 2009

На самом деле, это делается с помощью Flash. Есть много решений в Интернете. здесь это один из кода проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...