Hier ist meine Methodehaben Schwierigkeiten einen Controller-POST-Methode
[AcceptVerbs(HttpVerbs.Post)]
public void SaveImage(FormCollection formValues)
{
byte[] contents = Convert.FromBase64String(Request.Form["file"]);
System.IO.File.WriteAllBytes(Server.MapPath(Request.Form["name"]), contents);
}
Es ist aus diesem Actionscript-Methode geschrieben zu werden:
public function encodeAndSave(e:MouseEvent = null):void
{
var date:Date = new Date();
var by:ByteArray = PNGEnc.encode(canvas.main_bdata);
var req:URLRequest = new URLRequest(server_path+"Home/SaveImage");
var params:URLVariables = new URLVariables();
params.file = Base64.encodeByteArray(by);
params.name = "MyImage.png";
req.method = URLRequestMethod.POST;
req.data = params;
var ldr:URLLoader = new URLLoader(req);
ldr.addEventListener(Event.COMPLETE, complete);
ldr.load(req);
function complete(e:Event):void
{
navigateToURL(new URLRequest("?" + Math.random()), "_self");
}
}
Aber wenn die encodeAndSave Methode ausgeführt wird, wird keine Datei auf die gespeicherte Server ...
Kann jemand sagen, ob die SaveImage-Methode sogar ausgeführt wurde? Auch wenn ich in die Adresszeile tippe: , heißt es "Die Ressource kann nicht gefunden werden".
Jeder hat irgendwelche Ideen, warum es das tun würde oder was ich tun kann, um es herauszufinden?
Wenn Sie weitere Informationen benötigen, lassen Sie es mich wissen und ich werde meine Frage aktualisieren.
Danke,
Matt
Kannst du etwas erklären?Sorry, es sieht nicht wie etwas aus, das nur ein Plug-and-Play wäre, also möchte ich einfach herausfinden, wie es funktioniert, also kann ich es ein wenig für meine Web-App ändern – Matt
Ich würde hinzufügen, ich konnte hinzufügen "HttpPostedFileBase Datei "in die Parameterliste meines Controllers, und das erlaubt mir, den gesamten" Request.Files "-Abschnitt zu überspringen, da die Datei bereits mit den hochgeladenen Daten geladen ist. –