Upload de arquivo turco mecânico
-
12-09-2019 - |
Pergunta
Estou tentando testar os uploads de arquivos no Turk mecânico.
Estou chamando o serviço getfileuploadurl e minha sequência de consulta se parece mais com a seguinte:
Operation=GetFileUploadURL&AssignmentId=XXX&Signature=XXX&Version=2008-08-02&AWSAccessKeyId=XXX&Timestamp=2009-07-11T18%3A33%3A03-04%3A00&QuestionIdentifier=smiley&HITId=XXX&Service=AWSMechanicalTurkRequester
Meu hit html se parece com isso
<ul>
<li>Draw me a smily face.</li>
<li>Save it as a PNG</li>
<li>Image must be 64x64</li>
<li>Be Creative</li>
</ul>
<p> </p>
<p><input type="file" name="smiley" value="" /></p>
Estou recebendo um erro de volta que "The value \"null\" is not valid for the parameter QuestionIdentifier"
embora eu sou passando pelo QuestionIdentifier
dentro.
Suponho que meu html de sucesso não seja o mais ideal e que estou perdendo algo que teria facilitado isso. Eu poderia ter escrito algo diferente de <input type="file" name="smiley" value="" />
Ou melhorou de alguma forma que essa chamada de serviço da web seria mais fácil? Eu realmente não tenho certeza do que eu deveria passar no meu GetFileUploadURL
chamar para QuestionIdentifier
E eu assumi que "smiley"
podia funcionar.
Edit: i conhecer que é para ser smiley
base nos resultados que vejo quando ligo GetAssignmentsForHIT
.
Alguma ideia? Por que acha que é nulo? O pedido é importante ao passar os parâmetros para este serviço?
Solução
A operação GetFileUploadurl gera e retorna um URL temporário. Você usa o URL temporário para recuperar um arquivo enviado por um trabalhador Como resposta a uma pergunta do FileUploadanswer para um acerto. Para obter informações sobre a resposta do FileUploadanswer, consulte o QuestionForm.
Portanto, esse método é para recuperar arquivos que já foram enviados. Parece que você está tentando executar o upload com esse método que está incorreto. Como diz a documentação, veja Questionform e os detalhes sobre FileUploadAnswer
Para descobrir como o upload deve funcionar