Google Gears ve ASP.NET kullanarak dosyaları yüklemek için çalışıyorum ... Sana HttpRequest API lekeler kabul eder gibi can varsayalım.
Ben sayfasında denetimi FileUpload var.
<asp:FileUpload runat="server" ID="File1" />
Daha sonra JavaScript
var file1 = document.getElementById("<%# File1.ClientID %>");
var desktop = google.gears.factory.create('beta.desktop');
file1.onclick = function()
{
desktop.openFiles(openFilesCallback,
{
singleFile: true,
filter: ["image/jpeg"]
}
);
return false;
}
function openFilesCallback(files)
{
if(files.length == 0)
{
alert("No files selected");
}
else
{
// 1MB = 1024 * 1024 bytes
if(files[0].blob.length > (1024 * 1024))
{
alert("File '" + files[0].name + "' is too big to upload");
}
else
{
uploadFile(files[0]);
}
}
}
function uploadFile(file)
{
var up = google.gears.factory.create("beta.httprequest");
up.open("POST", "upload.ashx");
up.send(file.blob);
}
Ancak, işleyici nasıl ele emin değilim.
public void ProcessRequest (HttpContext ctx)
{
ctx.Response.ContentType = "text/plain";
ctx.Response.Write("Hello World");
ctx.Response.Write(ctx.Request.Files.Count.ToString());
ctx.Response.Write(ctx.Request.Form.Count.ToString());
}
Ben son iki tabloların birinin üzerine bir kesme noktası ayarlarsanız, hem Files.Count
ve Form.Count
return 0 Ben kundakçı bir istisna alamadım:. {[(2)] }
Ben Gears üzerinden upload POST kullanamıyorsanız, PUT kullanarak yapılabilir?
Edit: PHP Code will be fine as well (since I want to do it in both languages)