【发布时间】:2017-05-28 16:55:05
【问题描述】:
我正在从这个 Cordova Camera API 获取 URL,并且我正在发布到 WEBAPI。我尝试使用 base64,但是当我将它发布到服务器时它会增加图像大小。
请在下面找到我的代码并建议我如何将文件保存到服务器。
//WEB API//
public IHttpActionResult UpdateUserDetails(ImageModel model)
{
try
{
if (model.ImageBase64 != "")
{
var PicDataUrl = "";
string ftpurl = "ftp://xxx.xxxxx.xxxx/";
var username = "xxx";
var password = "xxxxx";
string UploadDirectory = "xxxx/xx";
string FileName =model.ImageFileName;
String uploadUrl = String.Format("{0}{1}/{2}", ftpurl, UploadDirectory,FileName);
FtpWebRequest req = (FtpWebRequest)FtpWebRequest.Create(uploadUrl);
req.Proxy = null;
req.Method = WebRequestMethods.Ftp.UploadFile;
req.Credentials = new NetworkCredential(username, password);
req.EnableSsl = false;
req.UseBinary = true;
req.UsePassive = true;
// I am getting URI path like below and need to save this file in server
model.ImageBase64 = C:\Program Files (x86)\IIS Express\services5.jpg
byte[] data =Convert.FromBase64String(model.ImageBase64);
req.ContentLength = data.Length;
Stream stream = req.GetRequestStream();
stream.Write(data, 0, data.Length);
stream.Close();
}
}
}
// I am getting URL from this Cordova Camera API and I am posting to WEBAPI
function onSuccessEdituserProfileGallery(imageData) {
console.log(imageData);
var smallImage
smallImage = document.getElementById('EdituserProfileImage');
smallImage.src = imageData;
customerImgData =smallImage.src;
return customerImgData;
}
【问题讨论】:
标签: javascript c# jquery cordova asp.net-web-api