将图像保存在网站上的文件夹中,无需上传文件

时间:2015-06-06 10:31:06

标签: android file-upload

我的网站托管在服务器上,我有一个文件夹,他们命名的图像。我收到一个base64字符串并将其转换为图像并将其保存在我的本地目录中,它的工作完美。

[WebMethod]
public void UploadPics(String imageString)
{
    //HttpRequest Request = new HttpRequest();
    //HttpPostedFile filePosted = new HttpPostedFile();
    string base64String = imageString;

    // Convert Base64 String to byte[]
    byte[] imageBytes = Convert.FromBase64String(base64String);
    MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length);

    // Convert byte[] to Image
    ms.Write(imageBytes, 0, imageBytes.Length);
    System.Drawing.Image image = System.Drawing.Image.FromStream(ms, true);
    //string newFile = Guid.NewGuid().ToString() + fileExtensionApplication;
    string filePath = "C:/Users/MUWebServices/App_Code/images/pic1.jpg";
    image.Save(filePath, ImageFormat.Jpeg);       
}

但是当我使用

    string filePath = "http://mywebsite.com/images/pic1.jpg";
    image.Save(filePath, ImageFormat.Jpeg);  

收到以下例外情况 " System.ArgumentException :不支持URI格式"

如何在网站文件夹中保存图像。我找到了一些解决方案,但都使用 fileUpload 而我无法使用它,因为我从android接收base64图像字符串并使用此web服务来保存图像。

1 个答案:

答案 0 :(得分:1)

您必须上传文件。由于您要打开与另一台计算机的TCP / IP连接,因此需要遵循协议将该文件写入该远程目录。让我作为Robert A. Heinlein向你解释  曾经说过,

  

任何认为协议不重要的人从未处理过猫。 -Robert A. Heinlein

开玩笑说你仍然需要使用文件上传(你可以通过AsyncTask这样做。远程计算机很可能不会使用uri。