-2

我正在阅读本教程。

http://ben.onfabrik.com/posts/pagedown-markdown-editor-custom-image-dialog

最后是 ASP.NET 代码

[HttpPost]
public ActionResult EditorUpload(MediaEditorUploadModel model)
{           
    string result;
    var serializer = new JavaScriptSerializer();

    if (model.File.IsValidFile() && model.File.IsImage()) {
        // upload the file

        result = serializer.Serialize(
            new { success = true, imagePath = "http://{the url of the uploaded image}"});
    } else {
        result = serializer.Serialize(
            new { success = false, message = "Invalid image file"});
    }

    return Content(result); // IMPORTANT to return as HTML
}

但我不知道,我必须如何用 PHP 响应它。谁能帮我把这段代码翻译成PHP?

4

1 回答 1

1

首先,我不会假装我很了解 ASP.NET。因此,基于我对您提供的代码的浏览。它实际上看起来可能是一种语言,在我看来至少对任何给定的脚本类型都不奇怪。对我来说看起来像面向对象的代码。但那是一个静音点。

总体而言,代码似乎在做的是实例化另一个类,我认为这是您更愿意查看的大部分代码。但是从这个小片段中,它使用类来验证是否找到了文件,并且在这种情况下确实是一个图像。如果是,则根据其在服务器上的位置提供 URL。如果没有给出错误。它还以 JSON 格式输出,因此 JavaScript 可以提取并使用它,例如 AJAX 请求。

也就是说,通过 PHP 可以通过 http://php.net/manual/en/function.file-exists.php验证文件是否在您的服务器上

然后根据您运行的 PHP 版本,您可以使用 http://php.net/manual/en/function.finfo-file.php(如果是较新的 php 版本)或 http://php.net/manual/en/ function.mime-content-type.php(旧的 php 版本)

要获取文件类型,您可以在其中使用您在 ASP snipplet 中提供的基于这些的 php 执行类似的 if-else。您将输出一个 json_encoded 数组来表示有效或良好。

于 2012-07-25T01:54:02.967 回答