【发布时间】:2018-01-16 18:09:47
【问题描述】:
我正在使用 PHP 和 corona sdk (Lua)(类似于 Instagram)创建一个社交应用程序。用户的其中一个选项是从他们的手机上传一张图片并将其用作他们帐户中的个人资料图片。
我不知道如何将图片上传到应用所在文件夹中的文件夹,然后在用户个人资料中显示该图片。我看过教程,但他们没有帮助我。有人可以帮忙吗?
【问题讨论】:
我正在使用 PHP 和 corona sdk (Lua)(类似于 Instagram)创建一个社交应用程序。用户的其中一个选项是从他们的手机上传一张图片并将其用作他们帐户中的个人资料图片。
我不知道如何将图片上传到应用所在文件夹中的文件夹,然后在用户个人资料中显示该图片。我看过教程,但他们没有帮助我。有人可以帮忙吗?
【问题讨论】:
你的问题描述太宽泛了。请具体说明您的问题。我想您是要求从 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)
您也可以在 ? 之后将参数传递给 url。检查网址。
【讨论】: