2010-06-12 2 views
1

Мне нужно загрузить изображение, а затем просмотреть его, не отправляя назад, поскольку мне нужно иметь контроль над загрузкой файлов (даже HTMLinputfile или ASPfileupload), после чего пользователь будет выбирать изображение после при выборе (просмотр) появится кнопка (HTMLInputButton), которая сохранит загруженное изображение и просмотрит его.Загрузите и просмотрите изображение на стороне клиента, не отправляя обратно

У меня есть следующий код:

<div> 
    <input id="UploadInput" type="file" value="Upload" /> 
    <br /> 
    <input id="PreviewBtnInput" type="button" value="Preview" onclick="ShowPreview()" /> 
    <br /> 
    <img id="ImgUploaded" /> 
</div> 

Так как я могу сделать эту задачу?

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

+0

Вы хотите сделать это, не отправляя данные на сервер вообще? Если это так, вам нужно посмотреть некоторые параметры плагина, например. область flash/silverlight. –

+0

Мне нужен предварительный просмотр изображения для пользователя, тогда он должен решить даже принять это изображение или нет, но все тезисы нужно сделать, не отправляя назад, и никакие SWF или внешние ресурсы просто не загружают изображение с кодом на стороне клиента. – Ahmy

ответ

2

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

http://www.dotnetspider.com/resources/40858-Preview-Image-before-uploading-using.aspx

Это использует AsyncFileUploadControl AjaxControlToolKit и HttpHandler, чтобы загрузить изображение.

1

Для предварительного просмотра изображений перед их загрузкой на сервер вам потребуется использовать загрузчик файлов Flash, Silverlight, ActiveX или Java. Сам ввод файла не позволяет вам взаимодействовать с фактическим файлом и отображать его на вашей веб-странице. Одновременное использование этого требует, чтобы вы загружали файл на сервер, где вы можете ссылаться на него с помощью URL-адреса (либо непосредственно в виде файла, либо через HTTPHandler). Если вы должны иметь предварительный просмотр перед публикацией, вы должны искать существующий продукт, который будет обрабатывать это на стороне клиента для вас. Быстрый google для flash-based file upload, поднял this, this и this в результатах.

+0

I не нужно управление вспышкой или silverlight Мне нужно загрузить изображение или просмотреть предварительный просмотр изображения, выбранного при отправке назад. Мне просто нужно показать изображение, выбранное пользователем, перед отправкой формы, и нет необходимости в flsh или любых внешних resoureces i просто хочу знать, как я могу загрузить изображение или просматривать его даже с помощью inputfile или fileupload, я нуждаюсь в нем, не отправляя обратно, может вызывать webservice или использовать концепции ajax, но не нужно использовать внешние ресурсы. – Ahmy

+0

@Ahmy - вызовы AJAX отправляются обратно на сервер и в любом случае не будут работать для загрузки файлов. Вы можете использовать iframe для обратной передачи на сервер и держать пользователя на одной странице, но вам все равно придется делать обратную передачу - только в iframe. Если вы хотите сделать реальный предварительный просмотр на стороне клиента, у вас нет выбора, кроме как использовать плагин. – tvanfosson

+0

Ваш ответ кажется логичным, но плагины слишком сложны, и мне нужен явный код для обработки этого процесса без каких-либо осложнений, которые я обнаружил в этих плагинах. Я думаю, что iframe может быть подходящим, я попробую, но все страницы postback или только часть iframe? Мне нужно знать, появится ли индикатор выполнения загрузки или нет? и спасибо за ваш ответ – Ahmy

Смежные вопросы