上传传递查询到通用处理程序
本文关键字:处理 程序 查询 | 更新日期: 2023-09-27 18:05:48
在这部分停留了几天,我仍然无法将任何查询字符串传递给通用处理程序。
我的代码如下:
1:将查询字符串传入Upload.aspx。我在页面加载部分检索它:
我Upload.aspx.csprotected void Page_Load(object sender, EventArgs e)
{
int userId = Convert.ToInt32(Request.QueryString["userid"]);
int upload = Convert.ToInt32(Request.QueryString["upload"]);
int childId = Convert.ToInt32(Request.QueryString["childid"]);
}
我Upload.aspx <script type="text/javascript">
// <![CDATA[
$(document).ready(function() {
$('#fileInput').uploadify({
'uploader': 'uploadify/uploadify.swf',
'script': 'Upload.ashx',
'cancelImg': 'uploadify/cancel.png',
'auto': true,
'multi': true,
'fileDesc': 'Image Files',
'fileExt': '*.jpg;*.png;*.gif;*.bmp;*.jpeg',
'queueSizeLimit': 90,
'sizeLimit': 4000000,
'buttonText': 'Choose Images',
'folder': '/uploads',
'onAllComplete': function(event, queueID, fileObj, response, data) {
}
});
});我upload.ashx
public void ProcessRequest(HttpContext context)
{
try
{
HttpPostedFile file = context.Request.Files["Filedata"];
Global.myDBManager.ConnectionString = ConfigurationManager.ConnectionStrings["conString"].ConnectionString;
Global.myDBManager.DataProviderType = DBMgr.DataProvider.MySql;
Global.myDBManager.Connect();
int id = 1 + Convert.ToInt32(Global.myDBManager.ExecuteScalar("Select id from picture order by picture_id desc limit 1"));
Global.myDBManager.ExecuteScalar("Insert into image(picture_id,user_id) VALUE('" + id + "', '" + userId + "')");
file.SaveAs("C:''" + id.ToString() + file.FileName);
context.Response.Write("1");
}
catch (Exception ex)
{
context.Response.Write("0");
}
}
我如何将查询传递到upload.ashx?其中userId是我试图传递的查询。
提前感谢!
在ProcessRequest
方法中使用。您可以使用Context.Request
来获取查询字符串参数。
int userId = Convert.ToInt32(Context.Request.QueryString["userid"]);
确保你已经在你的应用程序web.config
中做了url映射。
。
<system.web>
<urlMappings enabled="true">
<add url="~/Upload.aspx" mappedUrl="~/Upload.ashx"/>
</urlMappings>
...
这个链接可能会给你一些关于编写通用处理程序的想法。