我正在为公司开发应用程序。因此,对于应用程序,他们希望将图像上传到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>
我看到有人抱怨同样的事情,但没有人解决过这个问题。
我希望你们能做到,
最诚挚的问候
答案 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
方法。
希望它有所帮助!