如何在Swift中“正确”保存PFFile并检索网址

时间:2015-12-07 05:16:15

标签: parse-platform download swift2 ios9 pffile

我在Parse.com遇到困难。

我通过我的应用程序保存了一个PFFile,使用以下代码...(截断到相关信息。)

let alertXMLFile = PFObject(className: "Message")
do {
    alertXMLFile["alertFile"] = try PFFile(name: "alertFile.xml", data: data!)
    } catch {
        print("upload fail")
    }
alertXMLFile.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in   
    }
}

当我访问网络并查看文件时,我点击它并下载而不是在浏览器中显示。 (如果我复制链接并粘贴到另一个浏览器,也会发生下载)我可以将下载的文件,通过网络上传到我的班级,点击它,然后在浏览器中显示。我的应用程序也将正确识别手动上传的文件 并按预期执行。

我的问题是,如何通过Swift 2.1将PFFile保存到iOS中的Parseile,这不会是强制下载对象,但会像手动上传一样反应?

以下是成功保存文件的链接... http://files.parsetfss.com/277284ac-afb0-445c-b352-863782ca3acd/tfss-0c5b843d-d1cf-4b85-a9f5-aebff98d656c-alertData.xml

1 个答案:

答案 0 :(得分:1)

此行为通常由服务器发送到浏览器的MIME Content-Disposition属性决定。如果要立即由用户查看的图像,此属性设置为inline,否则设置为attachment,这通常会强制您的浏览器下载它。 (参见RFC 2183

中的示例

我认为通过仪表板手动上传文件时,此MIME类型设置不同。我自己没有这样做,但根据文档,你可以创建一个PFFile并使用fileWithName:data:contentType:设置内容类型