h.alizadeh
پنج شنبه 07 شهریور 1387, 03:01 صبح
سلام،
من توی برنامه م فایل آپلود میکنم ولینک محلی که فایلمو اونجا ذخیره میکنم رودر فیلد از بانکم قرار میدم.
مثلا فایلامو اینجا آپلودممیکنم اینجوری : \articles\persian.zip
توی فیلد بانکم لینک رو ذخیرهمیکنم.
حالا اومدم در قسمت دانلود که میخوام فایلایی که آپلود کردمرو دانلود کنممییام این لینکا روبخون و دانلود کنم.
توی یک گریدویو یک ستون بعنوان دریافت فایل دارم اینجوری:
<asp:HyperLinkField Text="دریافت مقاله" DataNavigateUrlFields ="aid" DataNavigateUrlFormatString="~/getarticle.aspx?a={0}" />
بعددر فایلgetarticle
Dim aid As Int64
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request.QueryString("a") <> "" Then
aid = Request.QueryString("a")
Else
Response.Redirect("~/articles.aspx")
Response.End()
End If
Dim cmd As SqlCommand
Dim parmReturn As SqlParameter
cmd = New SqlCommand("getaddress", con)
cmd.CommandType = CommandType.StoredProcedure
parmReturn = cmd.Parameters.Add("ReturnValue", SqlDbType.VarChar, 150)
parmReturn.Direction = ParameterDirection.ReturnValue
cmd.Parameters.AddWithValue("@aid", aid)
con.Open()
cmd.ExecuteReader()
con.Close()
If cmd.Parameters("ReturnValue").Value <> "-1" Then
Dim p As String = "~" + cmd.Parameters("ReturnValue").Value
Dim path As String = Server.MapPath(p)
Dim file As FileInfo = New FileInfo(path)
If file.Exists Then
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
Response.AddHeader("Content-Length", file.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(file.FullName)
Response.End()
Else
Response.Write("This file does not exist.")
End If
Else
Response.Write("no address exist.")
End If
End Sub
اينجوري نوشتم ولي ازم خطا میگیره:
Syntax error converting the varchar value '\articles\persian.zip' to a column of data type int.
میشه راهنماییم کنید...؟
من توی برنامه م فایل آپلود میکنم ولینک محلی که فایلمو اونجا ذخیره میکنم رودر فیلد از بانکم قرار میدم.
مثلا فایلامو اینجا آپلودممیکنم اینجوری : \articles\persian.zip
توی فیلد بانکم لینک رو ذخیرهمیکنم.
حالا اومدم در قسمت دانلود که میخوام فایلایی که آپلود کردمرو دانلود کنممییام این لینکا روبخون و دانلود کنم.
توی یک گریدویو یک ستون بعنوان دریافت فایل دارم اینجوری:
<asp:HyperLinkField Text="دریافت مقاله" DataNavigateUrlFields ="aid" DataNavigateUrlFormatString="~/getarticle.aspx?a={0}" />
بعددر فایلgetarticle
Dim aid As Int64
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Request.QueryString("a") <> "" Then
aid = Request.QueryString("a")
Else
Response.Redirect("~/articles.aspx")
Response.End()
End If
Dim cmd As SqlCommand
Dim parmReturn As SqlParameter
cmd = New SqlCommand("getaddress", con)
cmd.CommandType = CommandType.StoredProcedure
parmReturn = cmd.Parameters.Add("ReturnValue", SqlDbType.VarChar, 150)
parmReturn.Direction = ParameterDirection.ReturnValue
cmd.Parameters.AddWithValue("@aid", aid)
con.Open()
cmd.ExecuteReader()
con.Close()
If cmd.Parameters("ReturnValue").Value <> "-1" Then
Dim p As String = "~" + cmd.Parameters("ReturnValue").Value
Dim path As String = Server.MapPath(p)
Dim file As FileInfo = New FileInfo(path)
If file.Exists Then
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & file.Name)
Response.AddHeader("Content-Length", file.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.WriteFile(file.FullName)
Response.End()
Else
Response.Write("This file does not exist.")
End If
Else
Response.Write("no address exist.")
End If
End Sub
اينجوري نوشتم ولي ازم خطا میگیره:
Syntax error converting the varchar value '\articles\persian.zip' to a column of data type int.
میشه راهنماییم کنید...؟