Javascript 使用通用处理程序在服务器端上载Asp.net映像
我正在尝试使用以下代码在服务器端上载图像:Javascript 使用通用处理程序在服务器端上载Asp.net映像,javascript,c#,asp.net,ajax,generic-handler,Javascript,C#,Asp.net,Ajax,Generic Handler,我正在尝试使用以下代码在服务器端上载图像: <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <tr role="row"> <td> <label runat="server"><%# Eval("Name") %></label> <input type="text" runat
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<tr role="row">
<td>
<label runat="server"><%# Eval("Name") %></label>
<input type="text" runat="server" style="display: none;" />
</td>
<td>
<label runat="server"><%# Eval("Email") %></label>
<input type="text" runat="server" style="display: none;" />
</td>
<td>
<label runat="server"><%# Eval("Phone") %></label>
<input type="text" runat="server" style="display: none;" />
</td>
<td>
<img runat="server" id="ShowImage" src='<%# "~/MediaUploader/"+ Eval("Image")+".jpg" %>' alt="Image not found" />
</td>
<td class="text-center">
<button id="optional_upload" type="button"></button>
<input id="f_UploadImage" style="display:none;" type="file" />
</td>
<td id="optional" class="text-center;">
<asp:Button runat="server" CssClass="optional_btn1" UseSubmitBehavior="False" OnClientClick="EditRow(); return false;" />
<asp:LinkButton runat="server" CssClass="optional_lbtn1" Text="Update"></asp:LinkButton>
<asp:Button CssClass="optional_btn2" runat="server" UseSubmitBehavior="False" />
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
下面是我的通用处理程序类代码:
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
try
{
string dirFullPath = HttpContext.Current.Server.MapPath("~/MediaUploader/");
string[] files;
int numFiles;
files = System.IO.Directory.GetFiles(dirFullPath);
numFiles = files.Length;
numFiles = numFiles + 1;
string str_image = "";
foreach (string s in context.Request.Files)
{
HttpPostedFile file = context.Request.Files[s];
string fileName = file.FileName;
string fileExtension = file.ContentType;
if (!string.IsNullOrEmpty(fileName))
{
fileExtension = Path.GetExtension(fileName);
str_image = "MyPHOTO_" + numFiles.ToString() + fileExtension;
string pathToSave_100 = HttpContext.Current.Server.MapPath("~/MediaUploader/") + str_image;
file.SaveAs(pathToSave_100);
}
}
context.Response.Write(str_image);
}
问题:当我选择图像时,它成功地选择了,但当sendFile函数运行时,它显示以下错误:
error: function () {
alert("Whoops something went wrong!");
}
问题:如何成功上传图像?如何解决上述错误?这似乎是一个ajax错误。您应该记录返回的错误,以缩小可能的原因<代码>错误:函数(err){console.log(“请求中的AJAX错误:+JSON.stringify(err,null,2));}如何注册处理程序?您是否检查过它是否在
localhost/fileUploader.ashx中可用?它没有显示任何日志@如何注册处理程序?我不知道?这是我没有注册的问题吗@Andrei@AhmerAliAhsan,这似乎是一个ajax错误。您应该记录返回的错误,以缩小可能的原因<代码>错误:函数(err){console.log(“请求中的AJAX错误:+JSON.stringify(err,null,2));}
如何注册处理程序?您是否检查过它是否在localhost/fileUploader.ashx中可用?它没有显示任何日志@如何注册处理程序?我不知道?这是我没有注册的问题吗@Andrei@AhmerAliAhsan,这是
error: function () {
alert("Whoops something went wrong!");
}