Prestashop - 在c#上传图像Web服务

时间:2017-03-08 14:33:07

标签: c# image post prestashop

我正在为公司开发应用程序。因此,对于应用程序,他们希望将图像上传到prestashop。问题基本上是我无法通过Web服务来实现。我总是收到错误66:

import pandas as pd
from stop_words  import get_stop_words
df = pd.read_csv("F:/textclustering/data/cleandata.csv", encoding="iso-8859-1")
usertext = df[df.Role.str.contains("End-user",na=False)][['Data','chatid']]
stop_words = get_stop_words('dutch')
clean = usertext.apply(lambda x: [word for word in x if word not in stop_words])
print(clean)

我已经尝试了一切(邮差,httpclient,webclient)。唯一有效的是Prestasharp图书馆。但是,我的老板并不想依赖外部库来购买应用程序。 (是的,我也没有得到它)​​。因此,我想知道是否有人可以告诉我如何在没有库的情况下上传图像。 例如,以下代码不起作用,但我认为是对的。

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<errors>
<error>
<code>
<![CDATA[66]]>
</code>
<message>
<![CDATA[Unable to save this image]]>
</message>
</error>
</errors>
</prestashop>

我看到有人抱怨同样的事情,但没有人解决过这个问题。

我希望你们能做到,

最诚挚的问候

1 个答案:

答案 0 :(得分:3)

好吧,我终于用RestSharp解决了这个问题。

public string uploadImage(string path, string id_product)
{
    var client = new RestClient("http://mywebsite.com/api");
    byte[] file = System.IO.File.ReadAllBytes(path);

    var request = new RestRequest("images/products/" + id_product + "?ws_key=" + API_KEY, Method.POST);
    request.AddFileBytes("image", file, Path.GetFileName(path));

    IRestResponse response = client.Execute(request);
    string content = response.Content;

    return content;
}

我遇到的部分是AddFileBytes方法。

希望它有所帮助!