Je dispose de ModalPopUpExtenders sur mon site où les administrateurs peuvent télécharger des vidéos, des documents, des images et des images vers un produit spécifique. Le téléchargement semble très bien fonctionner, il apparaît dans la base de données et sur le site ..... mais quand je clique sur le lien sur la page, il dit "La ressource que vous cherchez a peut-être été supprimée, son nom a été changé ou est temporairement indisponible. "Où vont mes vidéos?
Rien n'est téléchargé dans le dossier de téléchargement réel qui fait partie de mon site ASP.net 4.0 VB. Quelqu'un peut-il me dire ce qui se passe?
<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
J'ai remplacé la première déclaration de l'instruction Try to the, mais elle me donne toujours une erreur 404. Lorsque je survole les éléments de la liste, il semble qu'ils aient été enregistrés dans un dossier, mais ils ne sont toujours pas sauvegardés. – jlg
Mon erreur, j'ai retiré tout ce try/catch et j'utilise juste le code que vous avez tapé. J'ai remplacé/path/avec/uploads/et cela a fonctionné. Je peux voir le document dans mon Explorateur de solutions, sauf que mon site veut tirer du dossier individuel de ce produit. Devrai-je créer des dossiers pour les téléchargements de chaque produit ou puis-je écrire quelque chose pour que cette application génère un dossier pour chaque produit. Il y a 519 produits en ce moment – jlg
Oh et merci d'ailleurs! Je ne sais pas combien de temps il m'aurait fallu pour trouver une réponse sur Google :) – jlg