2014-03-27 48 views
-1

我需要上傳使用JS文件,文件上傳ASP經典,JS

<input type="file" name="picUpload" id="picUpload" /> 

<% set pic = Request.Form("picUpload") 
set Amount = Request.Form("tbAmountProduct") 
set desc = Request.Form("tbDescProduct") 
set price= Request.Form("tbPriceProduct") 
set pcId =Request.Form("ddlCategoryForProd") 
set pbId =Request.Form("ddlBrandForProd") 
set pName=Request.Form("tbProductName") 
IF((bName<>"")AND(Amount<>"")AND(desc<>"")AND(price<>"")AND(pcId<>"-1")AND(pbId<>"-1")AND (pic<>"")) THEN 


    set con = Server.CreateObject("ADODB.Connection") 
    con.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("WebData/DB.mdb") & ";" 
    set rs = con.Execute("Select * FROM Products WHERE ProductName = '"&pName&"' and mode= true") 
     IF rs.EOF = true then   
     SET sql ="Insert Into Products (ProductName,SupID,CatID,Amount,Price,Pic,Description) Values('"&pName&"','"&pbId&"','"&pcId&"','"&Amount&"','"&price&"','"&pic&"','"&desc&"')" 
     SET rs =con.Execute(sql)%> 

我怎樣才能獲得該文件的路徑,並在項目的文件夾,將其鏈接到數據庫,並以特定的文件夾? 非常感謝。

+0

對不起,我編輯代碼 – user2922456

+0

你要的問題是,當你上傳你必須設置你的''

使用屬性'ENCTYPE =「的multipart/form-data的」文件'這會將您的上傳和表單字段以二進制形式發送。這意味着你不能使用'Response.Form'集合來檢索你的值,你將不得不使用'Request.BinaryRead()'和'Request.TotalBytes'的組合來解析你的二進制數據並確定你的文件和字段。我已經使用[Free ASP Upload](http://www.freeaspupload.net/)腳本完成了許多次這是純粹的'VBScript',而不像某些解決方案那樣依賴於COM組件。 – Lankymart

回答

0

我不確定JavaScript是怎麼進入的。

據我所知,你需要一個腳本上傳文件到你的服務器並保存文件名到數據庫。對於上傳位,您可以安裝Persits ASPUpload等第三方組件,或使用上述Lankymart建議的FreeAspUpload腳本。

(或者你可以看看使用asp.net - 如果你的服務器支持它,你有.NET的連基礎知識我喜歡傳統的ASP,但它不是很好上傳文件。)

反正這裏有一個去年我回答的問題。這是關於做我認爲你想要做的事情,但使用AspFreeUpload。

How to Insert Record and Upload file using the FreeASPUpload Script

+0

爲什麼上傳文件不好?@John?不能說我曾經有過一個問題,FreeAspUpload一直適合我,人們碰到的問題,然後不知道如何解決通常是在IIS 6中設置'AspMaxRequestEntityAllowed'和[如何啓用上傳經典ASP中的大文件](http://stackoverflow.com/a/22386054/692942)在IIS 7+上? – Lankymart

+0

@Lankymart我發現.net是更好的,如果你想設置上傳文件的大小限制,或檢查它是一個GIF或JPEG(我不只是在檢查文件擴展名) – John

+0

限制正在檢查'Request.TotalBytes'對預定義的限制(在我自己的實現基於FreeAspUpload的基礎上,我添加了一個Limit屬性並使用它,這樣做的好處是我可以使用'Err.Raise()'將該事件發出當Request.BinaryRead()檢查文件的邊界時,Content Type被直接從二進制文件中剝離出來oUploadFile.ContentType = Right(auxStr,Len (auxStr)-InStrRev(auxStr,「」))',並使Upload類'UploadedFiles'集合中File的整潔'ContentType'屬性可用。 – Lankymart