如何使用Corona SDK Lua上传图像

时间:2017-08-09 02:29:44

标签: php lua corona

我正在使用PHP和corona sdk(Lua)创建一个社交应用程序(类似于Instagram)。用户选择的一个选项是从手机上传图片并将其用作其帐户中的个人资料图片。

我不知道如何将图片上传到应用所在文件夹中的文件夹,然后在用户个人资料中显示该图片。我看过教程,但他们没有帮助我。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

你的问题描述太广了。具体说明你的问题。我想你要求从Corona SDK上传图像作为你的问题标题。

以下是从Corona SDK上传到服务器的图片。

1 - 从图库中选择图像。

-- Selection completion listener
local function onComplete( event )
    local photo = event.target

    if photo then
        print( "photo w,h = " .. photo.width .. "," .. photo.height )
    end
end

local button = display.newRect( 120, 240, 80, 70 )

local function pickPhoto( event )

    media.selectPhoto(
    {
        mediaSource = media.SavedPhotosAlbum,
        listener = onComplete, 
        origin = button.contentBounds, 
        permittedArrowDirections = { "right" },
        destination = { baseDir=system.TemporaryDirectory, filename="image.jpg" } 
    })
end

button:addEventListener( "tap", pickPhoto )

media.selectPhoto

的电晕文档

2 - 将图像上传到服务器。

您需要将MultipartFormData库添加到项目中。这是Link

然后

local MultipartFormData = require("class_MultipartFormData")
local multipart = MultipartFormData.new()
local path=system.pathForFile( "image.jpg", system.TemporaryDirectory )
multipart:addFile("Image", path, "image/jpg", "image.jpg")

local params = {}        
params.body = multipart:getBody()
params.headers = multipart:getHeaders() -- Headers not valid until getBody() is called.

network.request("https://your.server.url/services/imageupload?parameter=1", "POST", listener, params)

你可以在a之后将参数传递给url。检查网址。