starcat
|
|
1 | |
ASPImage и аплоад графических файлов18.12.2008, 23:14. Показов 987. Ответов 4
Метки нет (Все метки)
Друзья,
в моем приложении через форму загружается графический файл 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 (без ограничений на периолд использования)? |
18.12.2008, 23:14 | |
Ответы с готовыми решениями:
4
Аплоад файлов на сервер без использования компонент Как по нажатию одной кнопки сделать аплоад сразу трех файлов? Передача графических файлов по сети ASPImage: Определение размера картинки |
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 | |
24.12.2008, 13:09 | |
Помогаю со студенческими работами здесь
5
Как зарегистрировать AspImage.dll? (код есть) Еще раз про аплоад Как сделать аплоад файла в листбокс? Как сделать аплоад картинок на ASP?!!! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |