2011-08-24 9 views
1

私は、管理者がビデオ、ドキュメント、画像、画像を特定の製品にアップロードできるサイトにいくつかのModalPopUpExtendersを持っています。アップロードは正常に動作しているようですが、データベースとサイトに表示されますが、ページ上のリンクをクリックすると「探しているリソースが削除されている可能性があります。 、または一時的に利用できません。アップロードはどこに行きますか?

私のASP.net 4.0 VBサイトの一部である実際のアップロードフォルダには何もアップロードされていません。誰が何が起こっているか教えてくれますか?

<li> 
    <asp:LinkButton ID="DocumentButton" runat="server">Document</asp:LinkButton> 
    <asp:Panel ID="DocumentPanel" runat="server" CssClass="modalPopup" Style="display:none"> 
     Title:<asp:TextBox ID="DocumentTitle" runat="server"></asp:TextBox> 
     <asp:FileUpload ID="DocumentUpload" runat="server" /> 
       <asp:Button ID="SubmitDocument" runat="server" Text="Upload" onclick="SubmitDocument_Click" /><asp:Button ID="CancelDocument" runat="server" Text="Cancel" /><asp:HiddenField ID="filename" runat="server" /> 
      </asp:Panel>  
      <asp:ModalPopupExtender ID="DocumentModal" runat="server" DropShadow="True" DynamicServicePath="" Enabled="True" PopupControlID="DocumentPanel" TargetControlID="DocumentButton"></asp:ModalPopupExtender> 
</li>  

    Protected Sub SubmitDocument_Click(ByVal sender As Object, ByVal e As EventArgs) Handles SubmitDocument.Click 
    DocumentModal.Hide() 
    'Builds the full absolute URL to be inserted into the database. 
    Dim hostURL As String = Request.Url.Scheme & "://" & Request.Url.Host & ":" & Request.Url.Port & Request.ApplicationPath 
    Dim sqlFileHREF As String = "INSERT INTO Marketing (ProductID, MarketingTypeID, MarketingTitle, MarketingData) VALUES (" & ProductID.Value & " ,4, '" & DocumentTitle.Text & "', '" & hostURL & "uploads/" & ProductID.Value & "/" & DocumentUpload.FileName & "')" 
    sqlFileHREF.Replace("'", "''") 
    If DocumentUpload.HasFile Then 
     Try 
      DocumentUpload.SaveAs("uploads" & _ 
       DocumentUpload.FileName) 
      DocumentLabel.Text = "File name: " & _ 
       DocumentUpload.PostedFile.FileName & "<br>" & _ 
       "File Size: " & _ 
       DocumentUpload.PostedFile.ContentLength & " kb<br>" & _ 
       "Content type: " & _ 
       DocumentUpload.PostedFile.ContentType 
     Catch ex As Exception 
      DocumentLabel.Text = "ERROR: " & ex.Message.ToString() 
     End Try 
    Else 
     DocumentLabel.Text = "You have not specified a file." 
    End If 

    'Create SQL Connection 
    Dim SqlConnection As New SqlConnection("Server=off-db1;uid=productsDB_admin;pwd=******;database=Products") 
    SqlConnection.Open() 
    Dim sqlCommand As New SqlCommand(sqlFileHREF, SqlConnection) 
    sqlCommand.ExecuteNonQuery() 
    SqlConnection.Close() 
    Response.Redirect(Request.RawUrl) 
End Sub 

答えて

2

は、ファイルを保存する場所を指定する必要があります。Server.MapPathのは.SaveAsが必要とするものである物理パスへの仮想パスをマップします

DocumentUpload.PostedFile.SaveAs(Server.MapPath("/path/" & DocumentUpload.PostedFile.FileName)) 

+0

私はTryの最初の文を置き換えましたが、それでも私に404エラーが出ています。リストアイテムの上にカーソルを置くと、フォルダに保存されたように見えますが、まだ保存していません。 – jlg

+0

私の間違い、私はtry/catch全体を取り出し、入力したコードだけを使用します。私は/ path/with/uploads /を置き換えて、うまくいった。自分のサイトがその製品の個々のフォルダからプルすることを除いて、ソリューションエクスプローラでドキュメントを見ることができます。すべての製品のアップロード用にフォルダを作成する必要がありますか、このアプリケーションで各製品用のフォルダを生成するために何かを書くことはできますか?今すぐ519製品があります – jlg

+0

ああ、ありがとう!私はGoogleで答えを見つけるのに私がどれくらいの時間を要したかわからない。 – jlg

1

ファイルを保存する場所をサーバーに通知していません。具体的なコードサンプルはhttp://msdn.microsoft.com/en-us/library/aa479405.aspxのMSDNウォークスルーをご覧ください。

+0

コードをどこに置いても問題ありませんか?私はそれを試みたが、それはまだ動作しませんでした。私は時には処理するために物事が必要であることを知っています。編集内容を確認して、私が行ったことを確認してください。 – jlg

0

パスが指定されていない場合は、おそらくC:\ Windows \ System32にあります。

+0

私はそこでそれらを見つけられなかった。 :( – jlg

関連する問題