Я хотел бы получить этот код для загрузки изображений в 2 разные папки - PullRequest
0 голосов
/ 02 марта 2012

Мы пытаемся использовать постоянный код загрузки для загрузки изображений в 2 разные папки.Он работает при загрузке только в одну папку, но не в две.

По сути, у нас есть две папки, одна называется img, а другая - это подкаталог img с именем small.

Мы берем 1изображение и загрузите одно и то же изображение как в img, так и в маленькие папки.

Пока что изображение загружается в небольшую папку, но не в папку img.

Ниже приведен соответствующий код, сопровождаемый ссылкой, гдеЯ получил свой пример кода от.

'Upload.asp
<form name="form" action="process.asp" method="post" ENCTYPE="multipart/form-data">
 <Table>
     <tr>
     <td class="body1" div align="right">Attach for IMG folder:</div></td>
     <td><INPUT NAME="file1" TYPE="FILE" value="" SIZE=30></td>
    </tr>
    <tr>
     <td class="body1" div align="right">Attach for SMALL folder:</div></td>
     <td><INPUT NAME="file2" TYPE="FILE" value="" SIZE=30></td>
    </tr>
    </table>
   </td>
 </tr>
 </table>
 <hr color="silver">

  <table width="100%" border="0" cellspacing="4" cellpadding="4">
    <tr>
      <td><div align="center">
    <input  type="image" name="submit" id="submit2" title="submit to db." border="0" src="images/submitbutton.jpg" width="142" height="47" alt="Submit Button">
        </div></td>
    </tr>
  </table>
</form>

'Process.asp
<%
Set Upload = Server.CreateObject("Persits.Upload")
' Limit file size to 5000000 bytes, throw an exception if file is larger
Upload.SetMaxSize 5000000, True

' Save to memory. Path parameter is omitted
Count = Upload.Save


' Two images must be selected
If Count <> 2 Then
   Response.Write "You must select 2 jpeg files."
   Response.End
End If

' Intercept all exceptions to display user-friendly error
On Error Resume Next


' Create two folders, ignore "already exists" error
Upload.CreateDirectory Server.MapPath("/img"), True
Upload.CreateDirectory Server.MapPath("img/small"), True

' Obtain File objects
Set File1 = Upload.Files("file1")
Set File2 = Upload.Files("file2")

' Build name from session ID
'Name = Session.SessionID

' Save
'File1.SaveAs (Server.MapPath("/img/" & File1.Ext))
'File2.SaveAs (Server.MapPath("/img/small/" & File2.Ext))

' Copy file 1 to img folder
File1.Copy (Server.MapPath("/img/" & File1.Ext))
' Delete from temp folder
File1.Delete

' Copy file 2 to small folder
File1.Copy (Server.MapPath("/small/" & File1.Ext))
' Delete from temp folder
File2.Delete


For Each File in Upload.Files
   If File.ImageType <> "JPG" Then
      Response.Write "The image type you are uploading is not a JPGE image."
      File.Delete
      Response.End
   End If
Next

  Dim objConn,connectstr,objRS,prodset,specialset,bncatset,featureset

  connectstr = "Provider=sqloledb; Data Source=scartmil.db.8911524.hostedresource.com; Initial Catalog=scartmil; User ID=999999; Password=8888;"
  Set objConn = Server.CreateObject("ADODB.Connection")
  objConn.Open connectstr

catdescription = Upload.Form(trim("catdescription"))
pcode          = Upload.Form("pcode")
pname          = Upload.Form(trim("pname"))
pdescription   = Upload.Form(trim("pdescription"))
pPhoto         = Upload.Form("pPhoto")
cstock         = Upload.Form("cstock")
cprice         = Upload.Form("UnitPrice")

'sanitize to avoid sql injection
catdescription = replace(catdescription,"'","''",1,-1,1)
pcode = replace(pcode,"'","''",1,-1,1)
pname = replace(pname,"'","''",1,-1,1)
pdescription = replace(pdescription,"'","''",1,-1,1)
pPhoto = replace(pPhoto,"'","''",1,-1,1)
cstock = replace(cstock,"'","''",1,-1,1)
cprice = replace(cprice,"'","''",1,-1,1)

'response.write cprice
'response.end
sql = "INSERT INTO products (ccategory, " & _
                             "ccode, " & _
                             "cname, " & _
                             "cdescription, " & _
                             "cimageurl, " & _
                             "cstock, " & _
                             "cprice) " & _
                 "VALUES (" & _
                         ""&catdescription&", " & _
                         "'"&pcode&"', " & _
                         "'"&pname&"', " & _
                         "'"&pdescription&"', " & _
                         "'"&pPhoto&"', " & _
                         ""&cstock&", " & _
                         ""&cprice&")"
                    'response.write sql
                    'response.end
       set rs = objConn.Execute(sql)

'ok record in, now retrieve the primary key

sql = "SELECT products.catalogID FROM products ORDER BY products.catalogID DESC"
'response.write sql
'response.end
set prodset = objConn.execute(sql)
if not prodset.EOF then
bCatalog = prodset("CatalogID")
end if


sql= "INSERT INTO bndCategoryProduct (bCategoryId, " & _
                                       "bCatalogId) " & _
                 "VALUES (" & _
                         ""&catdescription&", " & _
                         ""&bCatalog&")"
                    'response.write sql
                    'response.end

set bncatset = objConn.execute(sql)



objConn.Close
Set objConn=Nothing



%>

Вот ссылка на номер:

http://www.aspupload.com/manual_memory.html

Пожалуйста, не обращайте внимания на код вставки;работает нормально.

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 02 марта 2012

Вы уверены, что у вас одинаковые разрешения на запись в обе папки? Кроме того, вы заметили, что ваши папки разные. Если у вас правильно установлены разрешения, я вижу еще одну проблему - ваши папки. У вас есть / img и img / small Это могут быть две разные папки img.

Upload.CreateDirectory Server.MapPath ("/ img"), True Upload.CreateDirectory Server.MapPath ("img / small"), True

Следующая потенциальная проблема, которую я вижу, в следующем коде. Просто под «Скопировать файл 2 в маленькую папку, у вас есть File1.copy. Не должно ли это быть File2.Copy.

'# Copy file 1 to img folder
File1.Copy (Server.MapPath("/img/" & File1.Ext))
'# Delete from temp folder
File1.Delete

'# Copy file 2 to small folder
File1.Copy (Server.MapPath("/small/" & File1.Ext))
'# Delete from temp folder
File2.Delete
1 голос
/ 02 марта 2012

Несколько вещей, которые я вижу:

Обе команды копирования используют файл1 Они также не указывают имя, только расширение. Почему бы не использовать метод saveas? Закомментируйте сообщение «об ошибке возобновить далее» и оберните код создания папки в if / then и проверьте, существует ли папка. Тогда вы можете увидеть свои ошибки

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