【发布时间】:2009-06-28 19:23:38
【问题描述】:
这是我的方法
[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);
}
它是从这个 actionscript 方法发布到的:
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");
}
}
但是当 encodeAndSave 方法运行时,没有文件被保存到服务器...
有谁知道如何判断 SaveImage 方法是否已经运行?另外,当我输入: http://www.mysite.com/Home/SaveImage 在地址栏中显示“找不到资源”。
任何人对它为什么会这样做或我可以做些什么来试图弄清楚它有任何想法?
如果您需要更多信息,请告诉我,我会更新我的问题。
谢谢,
马特
【问题讨论】:
标签: asp.net-mvc actionscript-3 file-io controller http-post