Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
starcat
1

ASPImage и аплоад графических файлов

18.12.2008, 23:14. Показов 955. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Друзья,
в моем приложении через форму загружается графический файл JPG. Принимающий скрипт должен принять этот графический файл и определить некоторые его параметры (линейные размеры в пикселях) и затем сохранить на диске. Проблема: сохраняемый файл имеет ноль кб. веса.

Делаю так:

Dim img,put,saccбmySmartUpload, Imgfile

Set mySmartUpload = Server.CreateObject('aspSmartUpload.SmartUpload')
set Imgfile= Server.CreateObject('AspImage.Image')
mySmartUpload.Upload

put=Server.MapPath('/')

img=MySmartUpLoad.Form('addfiles').values

'загружаем графический файл из переменной объекта смартаплоад в объект АСПИмадж, 1- признак формата jpg

Imgfile.LoadBlob img,1
imgfile.filename=put&'
ew.jpg'

if Image.SaveImage then sacc='Ура!'

В итоге файл на диск сохраняется с указанным именем, но имеет нулевой объем.

Подскажите, в чем проблема.

И еще, кто-нибудь имеет полноценный дистрибутив компонента ASPImage2 (без ограничений на периолд использования)?
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.12.2008, 23:14
Ответы с готовыми решениями:

Аплоад файлов на сервер без использования компонент
Люди! Хочу сделать аплоад файлов на сервер без использования компонент, к сожалению провайдер не...

Как по нажатию одной кнопки сделать аплоад сразу трех файлов?
Есть три штуки <input type=file ...> Как по нажатию одной кнопки сделать аплоад сразу трех файлов

Передача графических файлов по сети
я пишу клиент/сервер, как мне по сети передать графический файл (.bmp, jpg)?

ASPImage: Определение размера картинки
На том серваке где я хостюсь стоит компонента ASPImage. Почитав доки прилагающиеся к ней я так и...

4
Rider
22.12.2008, 12:31 2
господи, все проще делается

Код
Set mySmartUpload = Server.CreateObject('aspSmartUpload.SmartUpload')
mySmartUpload.Upload

'-----------------------------------------------------------------------	
'--- UPLOAD ----
	
	For Each file In mySmartUpload.Files
		sFile = file.FileName
		If NOT file.IsMissing Then
			If (LCase(file.FileExt) <> 'jpg' AND LCase(file.FileExt) <> 'jpe') then
				' ERROR
			Else

				tempFolder = Server.MapPath('UploadTemp') & ' '
				imageFolder = Server.MapPath('../memImages') & ' '
				fileName = 'logo' & muid & '.jpg'
				'-- upload file
				file.SaveAs (tempFolder & fileName)

				if err <> 0 then
					' ERROR
				end if				

				'-- resize it! ----------------------------------------------------------
				'------------------------------------------------------------------------
				Set Image = Server.CreateObject('AspImage.Image')
		
				Image.AutoSize = False
				Image.ImageFormat = 1
				Image.AutoClear = False
				sFileName = tempFolder & fileName
				Image.LoadImage sFileName
		
				Image.Resize IMG_WIDTH, IMG_HEIGHT
				Image.Filename = NEW_IMAGE_NAME
				Image.SaveImage
				Set Image = Nothing
				
			End If
		End If
	Next

Set mySmartUpload = Nothing
Rider
22.12.2008, 12:32 3
выдрал из контекста, так что переменные придется подправить
starcat
24.12.2008, 12:59 4
Спасибо за вариант, Райдер,
но только
1) это не проще, потому что зачем делать два дейсвия (сохранил файл, затем опять открыл в другом объекте только для того, чтобы узнать его размеры)
я именно так и делал, пока в спецификации АСП ИМАДж не увидел метода LoadBlob. По моему, можно получить картинку из объекта Смартаплоад В объект АСПИмадж напрямую через память сервера.

Это решение красивее, производительнее.

Только у меня что-то не получается пока.
Rider
24.12.2008, 13:09 5
я пользуюсь версией 1 и не уверен что там есть сей метод, кроме того если надо делать несколько операций над файлом, лучше сохранить его на диск, а потом загружать...
но все зависит от конкретной задачи конечно
24.12.2008, 13:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2008, 13:09
Помогаю со студенческими работами здесь

Как зарегистрировать AspImage.dll? (код есть)
Не могу зарегистрировать компонент, кто-нибудь сталкивался именно с этим объектом? Что нужно...

Еще раз про аплоад
Попробуйте использовать &quot;Pure ASP File Upload&quot;...

Как сделать аплоад файла в листбокс?
Ya dau vozmojnoct' usery open ego file &lt;Input Type='browse'&gt; Kto nibudi proboval zanesti info...

Как сделать аплоад картинок на ASP?!!!
Поскажите по сабжу!


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru